Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo detectar la conmutación entre usuarios

Tengo un servicio que se ejecuta en el modo de primer plano y me gustaría detectar la conmutación entre las sesiones de usuario en las tabletas con Android 4.2 o superior.

¿Hay algún receptor de difusión que pueda registrar para ser notificado?

He notado que Google Music detiene la reproducción de música tan pronto como se elige otra sesión de usuario en la pantalla de bloqueo. ¿Cómo detecta el interruptor?


RESPUESTA EXPLICADA

Gracias @ ComandosWare para la respuesta correcta. Voy a explicar un poco más cómo detectar un interruptor de usuario.

Primero, tenga en cuenta que la documentación dice explícitamente que los receptores deben registrarse a través de Context.registerReceiver . Por lo tanto, haga algo como:

 UserSwitchReceiver receiver = new UserSwitchReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction( Intent.ACTION_USER_BACKGROUND ); filter.addAction( Intent.ACTION_USER_FOREGROUND ); registerReceiver( receiver, filter ); 

Luego en el receptor también puede recuperar el ID de usuario. Aquí hay un pequeño fragmento:

 public class UserSwitchReceiver extends BroadcastReceiver { private static final String TAG = "UserSwitchReceiver"; @Override public void onReceive(Context context, Intent intent) { boolean userSentBackground = intent.getAction().equals( Intent.ACTION_USER_BACKGROUND ); boolean userSentForeground = intent.getAction().equals( Intent.ACTION_USER_FOREGROUND ); Log.d( TAG, "Switch received. User sent background = " + userSentBackground + "; User sent foreground = " + userSentForeground + ";" ); int user = intent.getExtras().getInt( "android.intent.extra.user_handle" ); Log.d( TAG, "user = " + user ); } } 

One Solution collect form web for “Cómo detectar la conmutación entre usuarios”

Prueba ACTION_USER_FOREGROUND y ACTION_USER_BACKGROUND . No los he utilizado, pero se agregaron en el nivel 17 de API, y su descripción parece que puede ayudar.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.