我目前正在处理一个使用不同配置文件的应用。为了简化支持流程,我不想在应用程序中显示当前活动的用户。根据这个问题:Get Currently Active User in Android这应该可以通过:
ActivityManager.getCurrentUser()
不幸的是,该方法在Android O(SDK Version 27)中不可用。该方法是可见的,但它由@hide注释,根据此答案:What does @hide mean in the Android source code?无法访问。我还有哪些其他选项可供当前活跃的用户使用?
编辑:我在谈论当前的用户细节。假设您在同一部手机上有两个用户(即私人用户+工作档案用户)。要查看我的用户,我可以执行以下操作:
> adb shell
> pm list users
> Users:
> UserInfo{0:Jeff:13} running
> UserInfo{10:Work profile:30} running
我要注意的是此示例中的用户ID(0或10)。
答案 0 :(得分:0)
当你说不同的个人资料时,它可能有多种含义。我列出了下面的每一个(同时检查here以了解更多信息):
1)您的应用的不同用户:在这种情况下,您可以将数据存储在应用中
2)同一手机的不同用户:所有用户必须单独安装应用程序,Android OS将为每个用户单独维护所有应用程序数据。 ActivityManager.getCurrentUser()是一个隐藏的api,仅供系统应用程序使用。所以你不能用这个。当多个用户使用同一部手机时,它会为您提供有关当前用户的信息。
3)手机用户创建的不同账户(如gmail,fb等):Android维护账户的中央注册表,以获取该支票的详细信息AccountManager。