gpt4 book ai didi

android - 为什么在设置所有者设备应用程序时无法创建受限配置文件?

转载 作者:太空狗 更新时间:2023-10-29 12:39:49 26 4
gpt4 key购买 nike

我最近注意到,当设置了Device Owner 应用程序 时,无法创建受限配置文件。

第一种情况:当我的设备所有者应用未设置时。
设置>用户:我可以“添加用户或配置文件”,然后在用户受限配置文件之间进行选择em>.

enter image description here

第二种情况:当我的设备所有者应用设置时。
设置>用户:我只能“添加用户”,然后我得到创建新用户的确认。在第二种情况下,无法创建受限个人资料。

enter image description here

我想知道为什么它在这种情况下不可用,以及在这种情况下如何创建受限配置文件?
我的问题的第二部分是:如何使用现有的 DevicePolicyManager API 以编程方式创建受限配置文件 - 或等效行为(据我所知,没有用于创建受限配置文件的公共(public) API)?

更新:我制作了一个示例应用程序来说明这一点。在 Github 上可用.

重现步骤:

  • 编译应用
  • 将应用程序上传到您的设备
  • 使用 dpm 命令行工具将应用程序设置为设备所有者:adb shell dpm set-device-owner com.mytest.minimalistdeviceowner/.DeviceAdminRcvr
  • 检查配置文件的创建在“设置”>“用户”中不可用
  • 通过在应用程序中单击“取消设置设备所有者”来取消应用程序作为设备所有者的设置。
  • 检查创建现在是否可以在“设置”>“用户”中使用

最佳答案

受限配置文件不适用于拥有设备所有者的平板电脑或手机。它显示在可用的设置应用程序源代码中 here :

DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
Context.DEVICE_POLICY_SERVICE);
// No restricted profiles for tablets with a device owner, or phones.
if (dpm.getDeviceOwner() != null || Utils.isVoiceCapable(context)) {
mCanAddRestrictedProfile = false;
mAddUser.setTitle(R.string.user_add_user_menu);
}

所以这不是错误,而是功能。它可能被禁用以避免干扰您的Device Owner App。你应该意识到这一点,因为你的设备所有者应用程序有更多的权力,这意味着你必须自己限制你的用户使用这个设备所有者应用程序。

为此,您可以使用通过 DevicePolicyManager.addUserRestriction() 提供的所有限制 API , DevicePolicyManager.setGlobalSetting() , DevicePolicyManager.setSecureSetting()配置设置,还有DevicePolicyManager.setApplicationHidden()限制用户的应用程序访问权限。

关于android - 为什么在设置所有者设备应用程序时无法创建受限配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27931008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com