Программно отключить администратор устройства в Android

В моем приложении у меня есть опция (флажок) для включения/отключения администратора устройства программно, она работает, когда я отключил администратора и пытаюсь включить его, но когда я отключаю его, то, что он делает, отключает администратора устройства без запроса окна деактивации запросить деактивацию. Теперь мне нужно сделать это правильно, я хочу, чтобы приложение показывало правильный экран с запросом на деактивацию администратора устройства. У меня есть следующий фрагмент кода, взятый с сайта разработчика 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();
        }
    }
}

person Saqib    schedule 10.06.2013    source источник


Ответы (2)



Это должно работать

   ComponentName devAdminReceiver = new ComponentName(context, DeviceAdminReceiver.class);
   DevicePolicyManager dpm = (DevicePolicyManager)context.getSystemService(Context.DEVICE_POLICY_SERVICE);
   dpm.removeActiveAdmin(devAdminReceiver);
person nithinreddy    schedule 21.01.2015