Ho sentito dire che premere il pulsante Indietro causerà essenzialmente l'attività corrente a finish()
. È sempre così? Sembra che sarebbe nel modo in cui apre l'attività in pila.La pressione di Indietro fa sempre terminare l'attività()?
L'unica situazione di cui non sono così sicuro è quando l'attività root in un'attività è stata premuta. Attualmente sto riscontrando un effetto molto strano, descritto come segue:
Durante il caricamento della mia applicazione, la prima attività è per l'inizializzazione e una volta terminata chiama la mia attività principale (una TabActivity). Questa prima attività di init ha Android: noHistory = "true" impostato nel manifest, quindi premere Indietro dalla mia attività principale non tornerà a quello. Va al Launcher. Quando faccio clic sulla mia app nel Launcher una seconda volta, l'attività di inizializzazione viene caricata di nuovo e carica l'attività principale al termine. Quasi subito dopo, carica una seconda istanza della mia attività principale. Ma SOLO dopo che l'Applicazione è già stata eseguita una volta, ed è stata chiusa premendo BACK dall'attività principale. Lo fa ogni volta successiva finché non esco dall'app o carica una nuova versione dall'IDE.
Sulla base di questo, sono sospettoso che qualche tipo di istanza di attività sia in giro e venga riutilizzata, poiché si verifica solo nel secondo momento in cui eseguo l'applicazione (ed esci con BACK - utilizzando HOME ritorna all'ultimo stato dell'app, nessun grosso problema). Qualcuno ha qualche pensiero ??
Grazie per il collegamento a tali linee guida. Sembra una buona lettura, non avevo ancora dato alcuna attenzione alla sezione "Best Practices". – stormin986
Quindi, qualsiasi attività creata da zero per impostazione predefinita verrà terminata quando si preme il pulsante Indietro, a meno che non lo si sovrascriva? –
In sostanza, sì. Sebbene dalla versione 4.0 di Android, ci sono così tanti modi in cui è possibile influenzare il comportamento del pulsante back che è diventato immensamente più complicato. Vedi http://developer.android.com/training/implementing-navigation/temporal.html –