Я хочу перевести свое приложение в режим закрепленного экрана. И я хочу разрешение от пользователя для этого.
Уведомление о разрешении
Но я не всегда хочу показывать это утверждение пользователю.
Я нашел метод 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
Почему этот метод становится ложным, и я не могу пропустить экран разрешения, хотя Мое приложение является администратором устройства.