Quando o usuário deseja sair de todas as atividades abertas , ele deve pressionar um botão que carrega a primeira Atividade executada quando o aplicativo é iniciado, limpar todas as outras atividades e concluir a última atividade restante. Execute o código a seguir quando o usuário pressionar o botão sair. No meu caso, LoginActivity
é a primeira atividade do meu programa a ser executada.
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
O código acima limpa todas as atividades, exceto LoginActivity
. Em seguida, coloque o seguinte código dentro do LoginActivity
's onCreate(...)
, para ouvir quando LoginActivity
é recriado e o sinal' EXIT 'foi passado:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
Por que tornar tão difícil um botão de saída no Android?
O Android se esforça para desencorajá-lo a ter um botão "exit" em seu aplicativo, porque eles querem que o usuário nunca se importe com a execução ou não dos programas que eles usam em segundo plano.
Os desenvolvedores do sistema operacional Android desejam que seu programa seja capaz de sobreviver a um desligamento inesperado e desligue o telefone e, quando o usuário reinicia o programa, ele retoma exatamente de onde parou. Assim, o usuário pode receber uma ligação enquanto usa seu aplicativo e abrir mapas que exigem que seu aplicativo seja liberado para obter mais recursos.
Quando o usuário retoma seu aplicativo, ele retoma exatamente de onde parou sem interrupção. Esse botão de saída está consumindo energia do gerenciador de atividades, causando problemas no ciclo de vida do programa Android gerenciado automaticamente.