我正在为我们提供给客户的android设备编写系统应用程序。我们控制固件,可以添加应用程序到android镜像,包括到priv-app
文件夹。
我们的应用程序的要求之一是,它能够重置我们的设备的密码。为了让一个"正常"的应用程序做到这一点,android要求应用程序被设置为设备管理员。
是否有任何方法可以预先配置我们的应用程序作为我们固件的设备管理员,或者有其他方法可以专门为系统应用程序设置设备密码?
设备管理应用程序可以使用隐藏的DevicePolicyManager将自己设置为管理员。setActiveAdmin方法。然而,要做到这一点,应用程序需要android.Manifest.permission.MANAGE_DEVICE_ADMINS
权限,这需要平台签名。
不需要将此应用程序放置在/system/priv-app
中的系统权限-权限类型为"签名"。
我认为平台签名是必要的,否则,用户必须首先接受设备管理设置策略。
一旦admin,应用程序可以设置任何策略,包括使用DevicePolicyManager.resetPassword
方法设置密码。
希望对你有帮助。
/Marek Pola, Sony Mobile.