問題タブ [device-owner]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android キオスク モード - ユーザーが「無許可」でアプリケーションの固定を解除できないようにする
私はAndroidにはかなり慣れていません。現在、KioskModeで実行する必要があるAndroidアプリを開発しているため、通常のユーザーはアプリケーションを終了したり、アプリケーション以外で何かをしたりできません。
私がすでにしたこと:
- アプリをデバイス所有者として設定しました
- デバイス所有者として、MainActivity の onCreate() メソッドでアプリを「スクリーン ピン留め」します。
- MainActivity にボタンがあり、後で管理者がパスワードを入力して終了できるようにします。stopLockTask() を呼び出します
私が今遭遇した問題は、アプリを実行するタブレットに単純に非アクティブ化できないハードウェアボタンがあるため、ユーザーは「戻る」ボタンと「マルチタスク」ボタンを同時に長押しするだけで画面固定を終了できることです。(少なくとも、デバイスをルート化せずにこれを行う方法はわかりません)
では、画面の固定を終了するためにこのボタンの組み合わせを無効にする方法、または適切な回避策はありますか?私が考えた 1 つのアプローチは、onLockTaskModeExiting() の AdminReceiver クラスでアプリケーションを再ピン留めすることでしたが、これを行う方法にまだ行き詰まっています。
MainActivityと AdminReceiver クラスのコード スニペットを次に示します。
}
MainActivity.java
どんな助けでも大歓迎です。ありがとう!
android - デバイス所有者によって非表示にされたアプリがインストール済みとして表示されない
私は最近、Android M のデバイス オーナー機能をいじっており、より具体的にはアプリを非表示にしています。
パッケージを非表示にした後、パッケージ マネージャーからインストール済みとして表示されなくなります:
context.getPackageManager().getInstalledPackages(0)
または
adb shell pm list packages
これらのパッケージをリストする別の方法はありますか?
Samsung MDM SDK の同様の機能は、実際にdisables
はアプリを非表示にするのではなく、クエリ インテントへの応答を停止しますが、インストールされたパッケージの一覧を表示します。
android - Android アプリに device_owner を設定するにはどうすればよいですか?
次のコマンドを使用して、アプリケーションをタブレットの device_owner (ROOT または NFC なし) に設定しようとしました。
like は多くのサイトに書かれています (KIOSK APP を作成する必要があるため)。まず、工場出荷時設定にリセットしてからアプリをインストールし、シェルでこのコマンドを書きましたが、答えは次のとおりです。
java.lang.IllegalStateException: デバイスの所有者を設定しようとしていますが、デバイスは既にプロビジョニングされています。
android.os.Parcel.readException(Parcel.java:1554)
で android.os.Parcel.readException(Parcel.java:1499)
で android.app.admin.IDevicePolicyManager$Stub$Proxy.setDeviceOwner(IDevicePolicyManager.java:3212) )
com.android.commands.dpm.Dpm.runSetDeviceOwner(Dpm.java:114)
で com.android.commands.dpm.Dpm.onRun(Dpm.java:82)
で com.android.internal.os.BaseCommand. run(BaseCommand.java:47)
at com.android.commands.dpm.Dpm.main(Dpm.java:38)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal. os.RuntimeInit.main(RuntimeInit.java:249)
さて、タブレットをルート化せずにこの問題を解決するにはどうすればよいでしょうか?
android - 起動時の Android ピン アクティビティ
自分自身をデフォルトのランチャーとして登録し、起動時に自動的にピン留めするアプリがあります。
アプリをインストールするとき、これはすべて正常に機能します。それ自体がピン留めされ、戻るボタンだけが表示されます。
問題は、デバイスが最初に起動したときに、正しくピン留めされないことです。一連のトースト「画面固定」と「画面固定解除」が複数回表示されます。「ホーム」ボタンと「最近のタスク」ボタンも引き続き表示されます。
--
「adb shell dumpsys activity activities」の実行 - 最後の行は、固定されていないことを示しています。
--
Marshmallow/6.0/23 を実行するテスト デバイス Asus ZenPad
固定する MainActivity マニフェスト属性「lockTaskMode」に依存しています (activity.startLockTask() ではなく):
ヘルプやポインタをいただければ幸いです
android - デバイスでアプリのデバイス所有者を設定できません
adb shell dpm コマンドを使用してアプリをデバイス所有者に設定する作業を行っていますが、エラーが発生しました
autolock.AdminReceiver}
ここに私の活動とマニフェストがあります
マニフェスト:
エラーがまだ出ている理由がわかりません。それは、1 つのデバイスがデバイス所有者として設定された単一のアプリしか持てないためですか? 別の質問は、端末でコマンドを入力するために、adb コマンドをアカウントなしでデバイスに実装し、PC に接続できることです。複数のデバイスがあり、それらを1つずつ設定するのが難しいため、デバイスがルート化されていない状況でアプリのコードでそれを行うことはできますか?ありがとう