Android 用の MDM (モバイル デバイス管理) アプリに取り組んでいますが、大きな問題があり、ユーザーが [設定] > [セキュリティ] > [デバイス管理者] 内からアプリを無効にできることです。私ができる唯一のことはonDisableRequested(...)
、サブクラスのメソッドをオーバーライドして警告メッセージを表示するDeviceAdminReceiver
ことですが、ユーザーが管理アプリを完全に無効にできないようにしたいのです。
アクション ACTION_DEVICE_ADMIN_DISABLE_REQUESTED および ACTION_DEVICE_ADMIN_DISABLED がシステムによってブロードキャストされたときに何も起こらないように、メソッドをオーバーライドしようとしましたonReceive(...)
が、これまでのところ機能していません。どうやら他のコンポーネントが私のonReceive(...)
メソッドに到達する前にこれらのアクションを処理しているようですが、その理由はわかりません。ユーザーがこのセクションから管理者アプリを無効にできないことを示す独自のカスタム ダイアログを表示し、それを行うために管理者パスワードを設定するようにユーザーに依頼することもできるようにしたいと考えています。
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (ACTION_PASSWORD_CHANGED.equals(action)) {
onPasswordChanged(context, intent);
} else if (ACTION_PASSWORD_FAILED.equals(action)) {
onPasswordFailed(context, intent);
} else if (ACTION_PASSWORD_SUCCEEDED.equals(action)) {
onPasswordSucceeded(context, intent);
} else if (ACTION_DEVICE_ADMIN_ENABLED.equals(action)) {
onEnabled(context, intent);
} else if (ACTION_DEVICE_ADMIN_DISABLE_REQUESTED.equals(action)) {
} else if (ACTION_DEVICE_ADMIN_DISABLED.equals(action)) {
} else if (ACTION_PASSWORD_EXPIRING.equals(action)) {
onPasswordExpiring(context, intent);
}
}
この問題を解決するには助けが必要です。
ありがとう、