20 votos

Cómo averiguar ejecutando nombre/Seudónimo de ADB

Tengo 7 Nexus ejecutando múltiples usuarios. Estoy tratando de averiguar que se está ejecutando el usuario usando el ADB. Lo mejor que he podido conseguir hasta ahora era comprobar directorio heredada enlazan a que sea vinculado a /mnt/shell/emulated/0 o a /mnt/shell/emulated/1.

¿Hay forma más eficaz para saber que se está ejecutando el usuario? ¿También hay una manera de averiguar el nombre de usuario del usuario actual?

32voto

Firelord Puntos 161

Para Lollipop, introduzca el comando:

adb shell dumpsys user

Te quedaría algo como:

Usuarios:
 UserInfo{0:Owner_lol:13} serialNo=0
 Creado: 
 Última sesión: +1m40s308ms hace
 UserInfo{10:Nuevo usuario:10} serialNo=13
 Creado: +1h1m15s438ms hace
 Última sesión: +6m2s390ms hace

En {0:Owner_lol:13} 0 es el id de usuario del usuario nombre de usuario Owner_lol.

Para cada usuario se vería Last logged in: de tiempo. La entrada tener tiempo más cercano a la hora actual implica que el usuario está actualmente en el enfoque en la pantalla.

Dado que has acceso de root, usted puede ver todos estos detalles de la XML de archivo de cada uno de los usuario disponible bajo /data/system/users.

Es otra cosa que mi Android 4.2.1 no di Last Logged in: de tiempo correctamente.


Alternativamente, en Lollipop, usted puede hacer:

adb shell pm list users

Te quedaría algo como:

Usuarios:
 UserInfo{0:Owner_lol:13} 
 UserInfo{10:Nuevo usuario:10} 

En mi Android 4.2.1 no veo el texto de "ejecutar", tal vez porque no fue implementado en el código o porque el dispositivo ha de usuario único apoyo.

Nota que si varios usuarios están conectados a continuación, habría que ver "ejecutar" para todos los usuarios registrados.


user (android.os.IUserManager) es el servicio que gestiona los usuarios en el sistema. dumspsys simplemente arrojados a la salida de la consulta del servicio user.

Alternativamente, usted puede consultar el servicio a condición de que usted sabe que la función de la consulta. Por ejemplo, En mi Android 5.0.2 puedo entrar:

adb shell service call user 8

Me da un hex-dump donde puedo ver por lo menos el nombre de usuario e id de usuario, entre otras cosas, de todos los usuarios en el sistema.

Número 8 está llamando a una función en particular. Ver el código fuente de la android.os.IUserManager para tu Android versión aquí.

Editar:

Otro método para echar un vistazo a la activity de servicio.

adb shell dumpsys activity

Buscar el par de líneas después de la línea con el texto mStartedUsers:. Se podría ver algo como:

User #0: mState=RUNNING
User #10: mState=RUNNING

El número de entrada de entre # y : es el id de un usuario.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X