Quando l'utente desidera uscire da tutte le attività aperte , deve premere un pulsante che carica la prima attività in esecuzione all'avvio dell'applicazione, cancellare tutte le altre attività, quindi terminare l'ultima attività rimanente. Far eseguire il codice seguente quando l'utente preme il pulsante di uscita. Nel mio caso, LoginActivity
è la prima attività nel mio programma da eseguire.
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
Il codice sopra cancella tutte le attività ad eccezione di LoginActivity
. Quindi inserisci il seguente codice all'interno di LoginActivity
's onCreate(...)
, per ascoltare quando LoginActivity
viene ricreato e il segnale' EXIT 'è stato passato:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
Perché creare un pulsante di uscita in Android è così difficile?
Android si sforza di scoraggiarti dall'avere un pulsante "esci" nella tua applicazione, perché vogliono che l'utente non si preoccupi mai se i programmi che usano sono in esecuzione o meno in background.
Gli sviluppatori del sistema operativo Android vogliono che il tuo programma sia in grado di sopravvivere a uno spegnimento e uno spegnimento imprevisti del telefono e quando l'utente riavvia il programma, riprendono da dove erano stati interrotti. In questo modo l'utente può ricevere una telefonata mentre utilizza l'applicazione e aprire le mappe che richiedono la liberazione dell'applicazione per ulteriori risorse.
Quando l'utente riprende l'applicazione, riprende da dove aveva interrotto senza interruzioni. Questo pulsante di uscita sta consumando energia dal manager delle attività, causando potenzialmente problemi con il ciclo di vita del programma Android gestito automaticamente.