2015-09-25 71 views
0

我正在为Android设备编写一个系统应用程序,我们向客户提供。我们控制固件,并可以将应用程序添加到Android图像,包括priv-app文件夹。预装的设备管理员应用程序

我们的应用程序的要求之一是它能够重置我们的设备的密码。为了让“普通”应用程序执行此操作,android需要将该应用程序设置为设备管理员。

有什么方法可以将我们的应用程序预先配置为我们固件的设备管理员,或者是专门为系统应用程序设置设备密码的替代方法?

+0

“是否有任何方法将我们的应用程序预先配置为我们固件的设备管理员” - 在设备上必须有一个数据库,用于跟踪设备管理员已接受的内容。如果没有其他的,找到并预先填充它接受你的应用程序。 – CommonsWare

+0

好想法 - 因为事实证明马雷克的回答低于这个需求。 –

回答

1

设备管理员应用程序可以使用隐藏的DevicePolicyManager.setActiveAdmin方法将自己设置为管理员。为此,应用程序需要需要平台签名的android.Manifest.permission.MANAGE_DEVICE_ADMINS权限。

将此应用程序放置在/ system/priv-app中的系统权限不是必需的 - 权限类型为“签名”。

我假设平台签名是必要的,否则用户必须先接受设备管理员设置策略。

一旦管理员,应用程序可以设置任何策略,包括使用DevicePolicyManager.resetPassword方法设置密码。

希望这会有所帮助。

/Marek Pola,Sony Mobile。

+0

谢谢 - 这是一种魅力! –

相关问题