2

私のアプリケーションでは、プログラムでデバイス管理を有効/無効にするオプション(チェックボックス)があります。管理を無効にして有効にしようとすると機能しますが、無効にすると、非アクティブ化ウィンドウのプロンプトを表示せずにデバイス管理が無効になります無効化を依頼します。今、私が必要としているのは、それを正しい方法で行うことです。デバイス管理者の非アクティブ化を求める適切な画面をアプリケーションに表示させたいのです。Android開発者サイトから取得した次のコードスニペットがあります。

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if (isChecked) {
        // Activate device administration
        Intent intent = new Intent(
                DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, deviceAdmin);
        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
                "Activate service to get access");
        startActivityForResult(intent, ACTIVATION_REQUEST);
    } else {
        try {
            devicePolicyManager.removeActiveAdmin(deviceAdmin);
            isAdminActive = false;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
4

2 に答える 2

4

これはうまくいくはずです

   ComponentName devAdminReceiver = new ComponentName(context, DeviceAdminReceiver.class);
   DevicePolicyManager dpm = (DevicePolicyManager)context.getSystemService(Context.DEVICE_POLICY_SERVICE);
   dpm.removeActiveAdmin(devAdminReceiver);
于 2015-01-21T11:34:11.547 に答える
2

これは AFIK では不可能です。これは使用者の権利です。

API は、 Device Adminの DE アクティベーションに関する確認ダイアログを常に表示します。

EDM API は、デバイス管理者のサイレント DE アクティベーションを行う方法を提供します。そのため、ユーザーは特定のデバイス管理者の非アクティブ化の UI を見ることができません。しかし、 EDM API は簡単には利用できません。商用利用のためです。

于 2013-06-10T07:27:55.443 に答える