電話/デバイス管理者から削除されたときに検出できるアプリがあります。 Androidデベロッパーのウェブサイトで検索しましたが、電話/端末管理者のアプリケーションの横にあるチェックボックスをクリックしたときに表示されるフラグや受信機が見つかりませんでした。電話/デバイス管理者からアプリケーションを削除することを検出しました
答えて
ブロードキャスト受信機には、次のようなDeviceAdminReceiver
クラスから拡張されたコールバック関数があります。ユーザーが非アクティブ化ボタンをクリックすると、この機能はデバイス管理者からアプリを無効にする直前にonDisableRequested
と呼ばれ、ユーザーが無効化をクリックするとonDisabled
がコールされます。 まず、デバイスをロックした後、ランチャー(ホームスクリーン)を呼び出さなければなりません。 このロジックを使用すると、ユーザーは非アクティブ化できません。もっと最適化された方法があれば、自由に共有/更新することができます。
@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
Intent homeScreenIntent = new Intent(Intent.ACTION_MAIN);
homeScreenIntent.addCategory(Intent.CATEGORY_HOME);
homeScreenIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(homeScreenIntent);
DevicePolicyManager deviceManger;
deviceManger = (DevicePolicyManager) context.getSystemService(
Context.DEVICE_POLICY_SERVICE);
deviceManger.lockNow();
return context.getString("App won't work if you disable this setting");
}
デバイス管理者は、で処理できるユーザーによって無効になったときに、アクションACTION_DEVICE_ADMIN_DISABLEDを受け取ります。 onDisabledメソッド内でDevicePolicyManager特権APIを使用できますが、返された後では使用できません。
しかし、私はそれが私のアプリを無効にしないようにしたい。 onDisabledに何かを書くと、ユーザーはすでにそれを無効にしています。 この機能では、別の機能onDisableRequested(コンテキストコンテキスト、意図インテント)があります。ユーザが無効にする前に警告メッセージなどを書き込むことができます。しかし、私はここで文法的に携帯電話をロックすると、ユーザーが携帯電話のロックを解除した後も同じ画面から続行します。どうすればそれを防ぐことができますか? –
デバイス管理者を無効にしようとすると(onDisabledで)デバイスを消去(工場出荷時の設定)しておくと、保護したいと思うデータはすべて削除されます。 とにかくユーザーがデバイスを消去でき、デバイス管理者が削除される可能性があるため、これが最善の方法です。 – Fred
工場のリセットを防ぐ、工場出荷時のリセット後にデバイスを使用しないなどの強力な機能を探している場合は、デバイスの初期設定時にデバイス所有者モードを設定する必要があります。 [この私の応答](https://stackoverflow.com/a/45632137/4816506)の2つのモードの詳細。 – Fred
- 1. Android:デバイス管理者からプログラムをプログラムで削除しますか?
- 2. 電話の呼び出しは、管理者のブラックベリー
- 3. Django管理者のデフォルトの削除アクションを削除します
- 4. コグニートユーザーを管理者として削除する
- 5. iOS - 現在のデバイスの電話番号/電子メールアドレスを検出しますか?
- 6. WordPressプラグインの機能を管理者側から削除する
- 7. JavaアプリケーションがWindowsの管理者として実行されたかどうかを検出します
- 8. Django管理者とモデルの削除
- 9. WordPress管理者アカウントがphpmyadminで削除されました
- 10. すべてのDjango管理者モデルの削除権限を削除します。
- 11. Synologyはユーザーフォルダへの管理者アカウントアクセスを削除します
- 12. Androidデバイスが携帯電話かJavaScriptかを検出する
- 13. WPD APIデバイスが電話機かどうかを検出しますか?
- 14. 管理者が承認したフォームテンプレートをセントラル管理者から削除すると、IISはリセットされますか?
- 15. tfs - 管理者なしで自分のユーザーを削除する
- 16. Web訪問者が管理者に電話をかけることができるリンク
- 17. Djangoの管理者から履歴ボタンを削除
- 18. アプリケーションの管理者と開発者がアプリケーションプロファイルの壁に投稿することを無効にしました
- 19. Android adbデバイスが携帯電話を検出しない
- 20. ビジネスオブジェクトのフォルダの管理者権限を誤って削除しました
- 21. デバイス管理者アプリから別のアプリをアンインストールする権利
- 22. Kustomerのお客様からメールと電話番号を削除します
- 23. ワイルドカードを使用してローカル管理者のドメイングループを削除します。
- 24. ユーザープロファイル管理者としてSP2010のユーザープロファイルを管理します
- 25. デバイス管理者の使用
- 26. androidのデバイス管理者
- 27. 管理者でない場合は、モデル管理検索/フィルタオプションを削除してください
- 28. C#で "管理者として実行"の要件を削除する方法
- 29. 管理者ユーザーが他のユーザーを削除および編集することを許可します
- 30. Android:デバイス管理アプリケーション
あなたがデバイス管理者を削除したときにあなたの質問が*検出された。これは質問に答えません。 – Fred
さらに、ユーザーはデバイス管理者をアンインストールできないため、ユーザーがあなたのアプリをアンインストールできないようになり、デバイスを工場出荷時にリセットすることが強制されます。あなたのアプリの悪いレビューが必要な場合を除き、そうしてはいけません。 – Fred
私の質問は「アプリケーションの検出」が「削除されました」というもので、onDisabled(Context、Intent)関数を答えとして与えたため、あなたの答えは適格ではありませんでした。 onDisableRequestedを使用して、それらが削除されているかどうかを知る必要があります。あなたが話した人は、それが削除されたことを伝えます(削除されることはありません)。あなたの2番目のコメントに加えて、フラグはonDisableRequested関数で設定される必要があります。 –