【问题标题】:How to switch System(Restricted User) Pofile in android Lollipop programmatically?如何以编程方式在 android Lollipop 中切换系统(受限用户)配置文件?
【发布时间】:2015-05-02 14:39:54
【问题描述】:

我正在寻找的是一种在某些特定用户下的现有配置文件之间切换的方法,使用 Android lollipop 的 DevicePolicyManager 类。 我从前两天用谷歌搜索了它,但没有办法实现它。我还在 Stack-overflow 和其他类似论坛上查看了一些先前提出的问题,但没有发现任何有用的东西。如果有人至少可以回答我是否正在寻找不可能的东西,或者是否有其他替代方法可以做到这一点,例如通过调用设置意图或类似方法,那对我来说会很棒。 DevicePolicyManager 类中还有方法 switchUser(ComponentName admin, UserHandle userHandle) 可以在用户之间切换。但是配置文件不存在类似的情况。 谢谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    我认为这是不可能的。 但是,我不明白您为什么要在配置文件之间切换。如果设置了托管配置文件,则启动配置过程的应用程序将复制到配置文件并设置为配置文件所有者应用程序。配置文件所有者应用程序随后在其自己的进程中运行。您不能从主要用户应用程序切换到托管进程。

    也许您可以解释一下为什么要更改为个人资料。

    编辑:

    设备所有者和配置文件所有者的定义: Is it possible to have a "Profile Owner" app in Android Lollipop that is not co-present

    DeviceOwner 示例显示了如何在 Android 上设置 Device Owner。 http://android-developers.blogspot.co.at/2015/04/new-android-code-samples.html

    另一个关于使用 NFC 配置设备所有者的好帖子:Device Owner on Android 5.0 (and others) whitout rooted devices, device provisioning by NFC

    您可以使用命令行工具 dpm 设置设备所有者: How to make my app a device owner?

    在您的应用(小部件)成为设备所有者后,您可以使用 DevicePoliyManager 的方法 switchUser 在用户配置文件之间切换。 UserManager 为您提供设备上所有配置文件的列表。

    UserManager um = (UserManager) getSystemService(USER_SERVICE);
    List<UserHandle> userProfiles = um.getUserProfiles();
    

    【讨论】:

    • 实际上我正在寻找创建列出所有可用配置文件的小部件应用程序,并让我循环浏览它们。
    • 如果您是设备所有者,您可以轻松地显示所有用户并切换到他们。但是,设备所有者应用程序的配置包括恢复出厂设置12 您可以在相应的用户帐户旁边显示配置文件,如果选择了一个,则切换到包含配置文件的用户。
    • 正是我在寻找什么,所以你上面评论的方式是否可能。你能给我一些示例链接吗,或者参考链接到 P
    • 你上面解释的。此外,用户配置文件设置因手机和平板电脑而异。那么这两者是否可行。谢谢
    • 感谢您提供以上信息,我会尽快尝试并感谢您。
    猜你喜欢
    • 1970-01-01
    • 2018-02-07
    • 2017-04-24
    • 2010-12-28
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    相关资源
    最近更新 更多