Android 用のアプリを作成し、ユーザーがこのアプリのみを使用できるようにしたいと考えています。(つまり、ユーザーは他のアプリを開いたり、インストールしたりできません。)
Android デバイスでそのような制限を強制することは可能ですか? そして、それがどこから始めるべきですか?
Android 用のアプリを作成し、ユーザーがこのアプリのみを使用できるようにしたいと考えています。(つまり、ユーザーは他のアプリを開いたり、インストールしたりできません。)
Android デバイスでそのような制限を強制することは可能ですか? そして、それがどこから始めるべきですか?
あなたが探しているのは「キオスクモード」と呼ばれるものです(適切な用語をグーグルで検索するのに役立つだけです)。
標準のAndroid APIにはそのようなものはありません(少なくとも...まだ:編集を参照してください)。ユーザーはいつでもホーム ボタンを押してホーム アプリケーションに戻ることができます。
しかし、解決策は存在します:
このソリューションは少し弱いです (しかし、あなたの要件に合うかもしれませんか?): 「ホーム アプリケーション」を開発します (非常に簡単です: 次のようなものをマニフェストに入れるだけです:
<activity android:name="MyCustomHome"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
これにより、ユーザーがホームボタンを押すと、使用するホームアプリを選択する必要があり、ユーザーがアプリをデフォルトのホームにすることを決定した場合、ホームボタンを押すと常にアプリに戻ります。
欠点:ホームボタンは現在のアプリから抜け出す唯一の方法ではないため、このソリューションは実際にはユーザーをブロックしません(たとえば、サムスンでは、上から下にスワイプすると常にツールバーが表示されます...そしてユーザーはそこから何でもできます)
特定のコンストラクタ拡張機能を使用する:
他のコンストラクターには他の解決策が存在すると思いますが、私はそれらを認識していません。
編集/更新
Android-5.0-Lollipop の場合:画面固定 APIを使用すると、アプリをkiosk-modeで実行できます。kiosk-modeの Android 用語はscreen-pinning-mode です。
アプリをscreen-pinning-modeで動作させるには、 Activity.startLockTask (およびActivity.stopLockTask()を使用して画面固定モードを終了する) を使用する必要があります。
デフォルトでは、ユーザーは screen-pinning-mode を承認する必要があります (アプリが を呼び出すと、ポップアップが表示されますstartLockTask
)。
アプリがデバイス所有者の場合: ユーザーはプロンプトを表示されず、確認なしで画面固定モードに入ることができます。
ユーザーは、 [設定] > [セキュリティ] > [画面固定]を選択して、アプリの画面固定モードを手動で有効にすることもできます。(この場合: ユーザーは [戻る] ボタンと [最近] ボタンの両方を押し続けることで、画面固定モードを終了できます)
android 開発者のシングルパーパス デバイスのセットアップ ページでは、このことについて説明しており、そこからさらに多くのことを簡単に知ることができます。