我想将我的应用程序放入固定屏幕模式。并且我需要用户的许可。
但我并不总是想向用户显示此声明。
我在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。
这是设置屏幕管理员列表
但是isDeviceOwnerApp(myPackageName)
方法返回false
为什么这个方法会返回false,而且我无法通过权限屏幕,尽管我的应用程序是设备管理员。