13

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);
        }
    }  

この問題を解決するには助けが必要です。

ありがとう、

4

5 に答える 5

7

これは、新しいデバイス所有者モードを使用して Android 5 Lollipop から実行できます。次に、Device-Administrator オプションがグレー表示され、ユーザーが無効にできないため、device-admin アプリをアンインストールしません。

ただし、デバイス所有者アプリのインストールは簡単ではないことに注意してください。プロビジョニング時に NFC を使用するか、adb (テストには便利ですが展開には適していません) を使用してコンピューターから、または MDM を使用してインストールする必要があります。 ..

于 2015-07-10T09:37:06.833 に答える
5

ユーザーが無効にするのを防ぐ方法はなく、それはユーザーの権利です。

ただし、ユーザー自身が実際に管理者権限を削除していることを確認するには、デバイスをonDisableRequestedでパスワードでロックし、「誰かがこのアプリの管理者機能を無効にしようとしました。それはあなたでよろしいですか?」のようなものを返します。

実際のユーザー以外の誰かが無効にしようとすると、先に進む前にパスワードを入力する必要があります。

于 2013-05-16T00:45:42.893 に答える
3

私は FoamyGuy に同意します。管理者の無効化を防ぐことはできません。そうしないと、アプリケーションをまったくアンインストールできません。

一般的に言えば、ユーザーは一部のアプリケーション デバイスに管理者権限を付与し、いつでもこれらの権限を削除できます。

ブロードキャストは単なる通知であり、処理することはできず、いくつかのアクションが発生するのを防ぐことができません。システムは、リッスンしているアプリに何かが起こっていることを伝えるだけです。

また、これを読んでください:

デバイス管理者が非アクティブ化されているときに Android デバイスをワイプする方法は?

于 2013-04-01T20:27:06.990 に答える