Android托管个人资料 - 个人资料所有者无法设置用户限制no_add_user

时间:2015-09-18 18:16:19

标签: android android-5.0-lollipop android-5.1.1-lollipop android-managed-profile

作为个人资料所有者,我正在尝试禁用用户添加,而我正在使用的代码是

 devicePolicyManager.addUserRestriction(myComponent, UserManager.DISALLOW_ADD_USER)

当我打电话给我时,我得到一个安全例外,上面写着

Process: net.notify.notifymdm, PID: 32626
java.lang.SecurityException: Profile owners cannot set user restriction no_add_user
        at android.os.Parcel.readException(Parcel.java:1546)
        at android.os.Parcel.readException(Parcel.java:1499)

官方文档here表示来电者必须是政策或设备所有者。这是一个错误还是我在这里做错了什么?操作系统是5.1

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。问题似乎是虽然我们可以访问方法" addUserRestriction'作为个人资料/设备所有者,我们无法在该权限下传递UserManager密钥。

要使用它们,我们需要MANAGE_USERS权限,其保护级别为signature|system。 因此,必须使用平台密钥对应用程序进行签名。

有关详细信息,请参阅此处:xdaDevelopers Enabling MultiUser

答案 1 :(得分:0)

文档现在明确提到了这一点:

  

此限制对辅助用户和托管配置文件没有影响,因为只有主要用户才能添加其他用户。

https://developer.android.com/reference/android/os/UserManager.html#DISALLOW_ADD_USER