Метод DevicePolicyManager.isDeviceOwnerApp не работает должным образом - PullRequest
0 голосов
/ 08 января 2019

Я хочу перевести свое приложение в режим закрепленного экрана. И я хочу разрешение от пользователя для этого.

Уведомление о разрешении

Но я не всегда хочу показывать это утверждение пользователю.

Я нашел метод setLockTaskPackages () в документе Android 5.0 Api.

Android 5.0 Api's

private void provisionOwner() {
    DevicePolicyManager manager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
    ComponentName componentName = DeviceAdminSample.getComponentName(this);

    if(!manager.isAdminActive(componentName)) {
        Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
        startActivityForResult(intent, 0);
        return;
    }

    if (manager.isDeviceOwnerApp(getPackageName())) {
        manager.setLockTaskPackages(componentName, new String [] {getPackageName()});
        startLockTask();
    }
}

Я также проверил список владельцев устройств с помощью этого;

manager.getActiveAdmins ()

и я вижу мой идентификатор пакета в списке администраторов. Вот настройки экрана администратора списка Мое приложение (Teacher App) - это устройство администратора

Но isDeviceOwnerApp(myPackageName) методов получения false

Почему этот метод становится ложным, и я не могу пропустить экран разрешения, хотя Мое приложение является администратором устройства.

1 Ответ

0 голосов
/ 08 января 2019

Администратор устройства - не то же самое, что владелец устройства, для этого есть много шагов. Вы можете начать исследование с официальный документ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...