我们可以在Android设备上创建多个用户和配置文件,例如,有一个主要用户,我还设置了一个名为“工作配置文件”的工作配置文件。
使用以下 adb 命令:
adb shell pm list users
我得到这个结果:
用户信息{0:我的用户:13}正在运行
用户信息{10:工作配置文件:30}正在运行
很好,我可以看到我的用户信息,上面有工作资料的名称。
现在,我想从我的应用程序中获取此列表。
我尝试使用这段代码:
for(Account account: AccountManager.get(this).getAccounts()) {
DebugLog.e("COUCOU " + account.name + " " + account.toString());
}
但工作配置文件帐户未出现在列表中。只有主用户...
知道如何获得与 ADB shell 命令相同的列表吗?
您将用户与帐户混淆了。您正在使用的内容只会为您提供当前用户的帐户。
一个设备可以有多个用户,相当于计算机上的用户。
一个用户可以拥有多个帐户,即 Gmail、Facebook、Twitter 等。这些帐户可以在用户之间共享,也可以不共享。
有关该主题的更多信息,请查看支持多用户的官方页面 https://source.android.com/devices/tech/admin/multi-user.html.
您可以使用以下方式处理用户用户管理器 https://developer.android.com/reference/android/os/UserManager.html您可以使用以下命令获取当前用户的个人资料列表获取用户配置文件 https://developer.android.com/reference/android/os/UserManager.html#getUserProfiles(),但你会得到的是用户句柄 https://developer.android.com/reference/android/os/UserHandle.html(你可以用它来获取userId),如何获取所有用户的列表和名称我还没有找到,但在最坏的情况下你可以使用shell命令pm,如下所示关于 Android 上的多个用户帐户的帖子 http://zielenkiewicz.info/2012/10/01/Multiple_user_accounts_inside_Android_4_1/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)