获取Android中当前的活跃用户

问题描述 投票:0回答:2

我正在寻找一种方法来获取 Android 中当前的活跃用户。我正在构建一个系统应用程序,以便我可以使用隐藏方法,但具体来说它必须是当前的活动用户,而不是给定进程的用户。

例如,如果您使用 ADB 安装应用程序,则进程会显示用户 ID 是所有者。这意味着 UserHandle.myUserId() 将无法满足我的需要:(

android android-source multi-user
2个回答
9
投票

所以我找到了一种完全符合我需要的方法。 ActivityManager 中有一个隐藏的静态方法(因此您需要施展一些魔法才能访问它),但它是:

ActivityManager.getCurrentUser();

仅此而已。


0
投票

我使用 ProcessBuilder 运行 shell 命令“whoami”。

    ProcessBuilder pb = new ProcessBuilder("whoami");
    Process process = pb.start();
    // finally read the process output

它有效。

© www.soinside.com 2019 - 2024. All rights reserved.