我在Android上有设备所有者应用,并且想要为device-admin.xml文件添加其他策略。这是必需的,因为我想在keyguard上禁用摄像头,这需要在device-admin.xml中使用<disable-keyguard-features />
。该应用程序最初使用NFC安装,可以通过本地保存的apk文件安装该应用程序的新版本,该文件可以从我们的私人服务器下载,但是,当安装新版本的应用程序时,它似乎没有影响将<disable-keyguard-features />
添加到device-admin.xml,因为我们在调用时遇到SecurityException
aDevicePolicyManager.setKeyguardDisabledFeatures(aDeviceAdmin,
DevicePolicyManager.KEYGUARD_DISABLE_SECURE_CAMERA);
现在,如果我们使用NFC重新配置具有新版本所有者应用程序的设备,那么一切顺利,但我正在寻找一种方法将此更改应用于现有应用程序,如何实现?
换句话说,我们如何更新Android设备上的设备所有者应用的政策要求而无需重新配置?
您无法将新策略添加到device-admin.xml并更新应用程序以激活所需的策略。
您必须重新请求获得激活权限的权限。
因此要么使用版本代码进行更新处理机制,要么只检查权限是否存在,如此link所述。
此外,不要忘记添加任何代码或函数行的检查,这取决于新的管理策略。
如果您觉得每次尝试运行代码时都检查是否获得了许可,并且在onEnabled
上将其重置为DeviceAdminReceiver