DevicePolicyManager.isDeviceOwnerApp 方法无法正常工作
Posted
技术标签:
【中文标题】DevicePolicyManager.isDeviceOwnerApp 方法无法正常工作【英文标题】:DevicePolicyManager.isDeviceOwnerApp Method Not Working Properly 【发布时间】:2019-06-02 22:26:36 【问题描述】:我想将我的应用程序置于固定屏幕模式。我希望得到用户的许可。
Permission Notice
但我并不总是想向用户展示这条语句。
我在 android 5.0 Api 文档中找到了 setLockTaskPackages() 方法。
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()
我在管理员列表中看到了我的包 ID。 这是设置屏幕管理员列表 My app(Teacher App) is device admin
但是isDeviceOwnerApp(myPackageName)
方法得到false
虽然我的应用程序是设备管理员,但为什么这个方法会出错并且我无法通过权限屏幕。
【问题讨论】:
【参考方案1】:设备管理员与设备所有者不同,要实现它有很多步骤。你可以从official doc开始研究
【讨论】:
以上是关于DevicePolicyManager.isDeviceOwnerApp 方法无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章