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