Android通过命令行查看当前用户

Android通过命令行查看当前用户

自AndroidL以来支持多用户,那么当前到底处理哪个用户中呢?一般来说,我们会在代码中通过ActivityManager.getCurrentUser()来获取,但有时候需要在shell控制台快速的查看,苦于系统没有(没找到)合适的命令,这里提供一个笨办法。步骤如下:

步骤一

执行 adb shell dumpsys activity top,输出当前最顶层的Activity的信息,大概如下:

TASK null id=58
ACTIVITY com.android.launcher3/.Launcher 4722fa pid=28777

输出的信息比较多,但只重点看前几行,找到对应的pid。这里,pid=28777

步骤二

执行 adb shell ps | grep 28777, 这里的28777就是步骤一找到的pid, 执行完后,会输出以下信息:

u0_a34 28777 741 1798644 125140 SyS_epoll_ 7f96bd99b4 S com.android.launcher3

第一个信息就是该进程所代表的软件的uid, uid=u0_a34, 这里u0就表示是这是用户0的软件, 所以可以判断出当前处于用户0中。

参考

创建用户或者用户资料

pm create-user [--profileOf USER_ID] [--managed] [--restricted] [--ephemeral] [--guest] USER_NAME

切换用户

am switch-user

你可能感兴趣的:(Android)