3

Android 用のアプリを作成し、ユーザーがこのアプリのみを使用できるようにしたいと考えています。(つまり、ユーザーは他のアプリを開いたり、インストールしたりできません。)

Android デバイスでそのような制限を強制することは可能ですか? そして、それがどこから始めるべきですか?

4

2 に答える 2

2

あなたが探しているのは「キオスクモード」と呼ばれるものです(適切な用語をグーグルで検索するのに役立つだけです)。

標準のAndroid APIにはそのようなものはありません(少なくとも...まだ:編集を参照してください)。ユーザーはいつでもホーム ボタンを押してホーム アプリケーションに戻ることができます。

しかし、解決策は存在します:

  1. ホームアプリを書く

このソリューションは少し弱いです (しかし、あなたの要件に合うかもしれませんか?): 「ホーム アプリケーション」を開発します (非常に簡単です: 次のようなものをマニフェストに入れるだけです:

<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>

これにより、ユーザーがホームボタンを押すと、使用するホームアプリを選択する必要があり、ユーザーがアプリをデフォルトのホームにすることを決定した場合、ホームボタンを押すと常にアプリに戻ります。

欠点:ホームボタンは現在のアプリから抜け出す唯一の方法ではないため、このソリューションは実際にはユーザーをブロックしません(たとえば、サムスンでは、上から下にスワイプすると常にツールバーが表示されます...そしてユーザーはそこから何でもできます)

  1. 特定のコンストラクタ拡張機能を使用する:

    • samsung-knoxは、最近の samsung デバイス向けのソリューションです (警告: これは企業向けの巨大で複雑なセキュリティ ソリューションです: 多くのことを行うには多くのコンポーネントが必要であり、kiosk-mode api にアクセスするには samsung パートナーになる必要があると思います)
    • Motorola の場合:キオスクモードで独自のアプリを実行するために使用できるEnterpriseHomeScreenというアプリがあります。

他のコンストラクターには他の解決策が存在すると思いますが、私はそれらを認識していません。


編集/更新

Android-5.0-Lollipop の場合:画面固定 APIを使用すると、アプリをkiosk-modeで実行できます。kiosk-modeの Android 用語はscreen-pinning-mode です

アプリをscreen-pinning-modeで動作させるには、 Activity.startLockTask (およびActivity.stopLockTask()を使用して画面固定モードを終了する) を使用する必要があります。

デフォルトでは、ユーザーは screen-pinning-mode を承認する必要があります (アプリが を呼び出すと、ポップアップが表示されますstartLockTask)。

アプリがデバイス所有者の場合: ユーザーはプロンプトを表示されず、確認なしで画面固定モードに入ることができます。

ユーザーは、 [設定] > [セキュリティ] > [画面固定]を選択して、アプリの画面固定モードを手動で有効にすることもできます。(この場合: ユーザーは [戻る] ボタンと [最近] ボタンの両方を押し続けることで、画面固定モードを終了できます)

于 2014-10-14T23:20:12.393 に答える
0

android 開発者のシングルパーパス デバイスのセットアップ ページでは、このことについて説明しており、そこからさらに多くのことを簡単に知ることができます。

于 2016-10-03T12:44:20.110 に答える