我想将我的应用程序置于固定屏幕模式。我希望获得用户的许可。
但是我并不总是想向用户显示此语句。
我在Android 5.0 Api文档中找到了 setLockTaskPackages()方法。
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()
,我在管理员列表中看到我的软件包ID。 这是设置屏幕管理员列表 My app(Teacher App) is device admin
但是isDeviceOwnerApp(myPackageName)
个方法获得了false
为什么这种方法会出错,尽管我的应用是设备管理员,但我无法通过权限屏幕。