Como detectar a alternância entre usuários

Tenho um serviço em execução no modo de primeiro plano e gostaria de detectar a alternância entre sessões de usuário em tablets que executam o Android 4.2 ou superior.

Existe algum receptor de broadcast que eu possa registrar para ser notificado?

Percebi que o Google Music interrompe a reprodução da música assim que outra sessão de usuário é escolhida na tela de bloqueio. Como ele detecta o switch?

RESPOSTA EXPLICADA

Obrigado @CommonsWare pela resposta correta. Vou explicar um pouco mais como detectar um switch de usuário.

Primeiro, esteja ciente de que a documentação diz explicitamente que os receptores devem ser registradosContext.registerReceiver. Portanto, faça 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 );

Em seguida, no receptor, você também pode recuperar o ID do usuário. Aqui está um pequeno trecho:

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 );
    }
}

questionAnswers(1)

yourAnswerToTheQuestion