Distinguir entre pressionar o botão "casa" e abrir outra atividade

Eu tenho três atividades: - SplashActivity - MainActivity - PlayerActivity

Obviamente, o aplicativo inicia com SplashActivity, inicia MainActivity e fecha. A MainActivity em algum momento inicia o PlayerActivity e vai para o backstack. (MainActivity está ativo, mas está onStop) Então eu preciso abrir MainActivity e definir PlayerActivity como plano de fundo (PlayerActivity está ativo, mas está onStop). Então, preciso abrir novamente o PlayerActivity e definir MainActivity como plano de fundo.

Portanto, PlayerActivity e MainActivity geralmente ficam onPause () e onStop () sem onDestroy quando o aplicativo muda um para o outro e vice-versa.

Preciso concluir todas as atividades e iniciar o aplicativo para o SplashActivity sempre que o usuário pressionar o botão "home", mas o botão home faz a mesma troca entre as atividades (onPause () e onStop ()). Então eu não consigo pegar a diferença para matar atividades.

Por favor ajude.

EDITADO: Infelizmente,onUserLeaveHint não ajuda, é o mesmo. Se o usuário pressionar HOME, isso chama:

onUserInteraction, onUserLeaveHint, onPause, onStop

Esta atividade retorna a atividade anterior (principal) sem nenhuma ação do usuário.

classe pública PlayerActivity estende a atividade {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_next);

    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            startActivity(new Intent(PlayerActivity.this, MyActivity.class));
        }
    }, 5000);
}

}

Mas ainda tem o mesmo:

onUserInteraction, onUserLeaveHint, onPause, onStop

questionAnswers(4)

yourAnswerToTheQuestion