Android - 获取用户列表和个人资料名称

14
我们可以在Android设备上创建多个用户和配置文件,例如,有一个主用户,并且我还设置了一个名为“工作配置文件”的工作配置文件。

使用以下adb命令:

adb shell pm list users

我得到了以下结果:

UserInfo{0:My User:13} 运行中 UserInfo{10:工作配置文件:30} 运行中

很好,我可以看到名为“工作配置文件”的用户信息。现在,我想从我的应用程序获取这个列表。

我尝试使用以下代码:

for(Account account: AccountManager.get(this).getAccounts()) {
        DebugLog.e("COUCOU " + account.name + " " + account.toString());
    }

但工作配置文件帐户未显示在列表中。只有主用户... 有什么办法可以获得与ADB shell命令相同的列表吗?


没有人吗?这将非常有用。 - ZouBi
2个回答

5
您混淆了用户和账户。您使用的只会获取当前用户的账户。
一个设备可以有多个用户,这等同于计算机上的用户。
一个用户可以拥有多个账户,例如 Gmail、Facebook、Twitter 等。这些账户可以被多个用户共享,也可以不共享。
有关此主题的更多信息,请查看支持多个用户的官方页面
您可以使用UserManager处理用户,并且可以使用getUserProfiles获取当前用户配置文件的列表,但是您将得到一个UserHandle(您可以使用它来获取 userId),如何获取所有用户的列表和名称是我还没有找到的,但在最坏的情况下,您可以使用 shell 命令 pm,如这篇关于 Android 上多个用户帐户的文章中所示

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接