Отключение администратора устройства - PullRequest
2 голосов
/ 23 июня 2011

Приложение администрирования устройства не может быть удалено, если оно не отключено.Пользователь может отключить «Администраторы устройства» из настроек.Когда компания предоставляет устройства Android своим сотрудникам, она хочет иметь контроль над устройствами, их статусами и политиками, но пользователь может легко избавиться от этого контроля.Кто-нибудь знает, как можно запретить пользователю отключать администраторов устройств?Спасибо.

Ответы [ 2 ]

3 голосов
/ 23 июня 2011

Невозможно запретить пользователю отключать администраторов устройств, по крайней мере, с помощью опубликованных API. Лучшее, что вы можете сделать, это запретить запуск программ, если определенные политики отсутствуют.

Некоторые производители (например, Samsung) расширили базовые API для предоставления дополнительных возможностей, но они не являются частью стандартной платформы Android.

2 голосов
/ 03 февраля 2013

В DeviceAdminReceiver.java вы можете сделать что-то вроде этого на DisableableRequested:

public CharSequence onDisableRequested(Context context, Intent intent) {

    SharedPreferences settings = context.getSharedPreferences(MainActivity.class.getName(), 0);
    String DEVICE_ADMIN_CAN_DEACTIVATE = settings.getString("DEVICE_ADMIN_CAN_DEACTIVATE", null);
    if(DEVICE_ADMIN_CAN_DEACTIVATE.equals("ON")){
        Intent startMain = new Intent(Intent.ACTION_MAIN);
        startMain.addCategory(Intent.CATEGORY_HOME);
        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(startMain);
        return "OOPS!";
    }else{
        String msg_char_onDisable = context.getResources().getString(R.string.msg_char_onDisable);
        return msg_char_onDisable;
    }
}
...