【问题标题】:Preloaded device administrator app预装的设备管理员应用
【发布时间】:2015-09-25 11:43:20
【问题描述】:

我正在为我们提供给客户的 Android 设备编写系统应用程序。我们控制固件并可以将应用添加到 android 映像中,包括添加到 priv-app 文件夹中。

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

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

【问题讨论】:

  • “有什么方法可以将我们的应用程序预先配置为我们固件的设备管理员”——设备上必须有一个数据库来跟踪已被接受为设备管理员的内容。如果没有其他问题,请找到它并预先填写您的应用的接受。
  • 好主意 - 事实证明,下面 Marek 的回答回避了这种需求。

标签: android device-policy-manager


【解决方案1】:

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

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

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

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

希望这会有所帮助。

/Marek Pola,索尼移动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 2016-03-15
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多