我正在为客户提供Android设备的系统应用程序。我们控制固件并可以将应用程序添加到android映像,包括priv-app
文件夹。
我们的应用程序的一个要求是它能够重置我们设备的密码。为了让“普通”应用程序执行此操作,Android要求将应用程序设置为设备管理员。
有没有办法预先配置我们的应用程序作为我们固件的设备管理员,或者专门为系统应用程序设置设备密码的替代方法?
答案 0 :(得分:1)
设备管理员应用程序可以使用隐藏的DevicePolicyManager.setActiveAdmin方法将自己设置为admin。但是,要执行此操作,应用程序需要android.Manifest.permission.MANAGE_DEVICE_ADMINS
权限,这需要平台签名。
不需要将此应用程序放在/system/priv-app
中的系统权限 - 权限的类型为“签名”。
我认为平台签名是必要的,否则用户必须首先接受设备管理设置策略。
管理员可以设置任何政策,包括使用DevicePolicyManager.resetPassword
方法设置密码。
希望这有帮助。
/ Marek Pola,Sony Mobile。