Assumere hai due attività A e B. Passi da A a B. A passa allo sfondo.
B viene inserito nello stack posteriore e B prende fuoco. Quando fai clic sul pulsante indietro, l'attività B viene visualizzata al di fuori dello stack posteriore. L'attività A viene ripresa.
Nota: è possibile tenere contemporaneamente più attività in background contemporaneamente. Tuttavia, se l'utente esegue contemporaneamente numerose attività in background, il sistema potrebbe iniziare a distruggere le attività in background per recuperare la memoria, causando la perdita degli stati di attività. Vedere la sezione seguente sullo stato di attività.
http://developer.android.com/training/basics/activity-lifecycle/starting.html. L'attività una volta distrutta deve essere ricreata. L'attività viene disattivata e ricreata quando l'orientamento dello schermo cambia.
http://developer.android.com/training/basics/activity-lifecycle/starting.html.
http://developer.android.com/guide/components/tasks-and-back-stack.html. Dovresti dare un'occhiata a come funziona lo stack posteriore.
Nel tuo caso la finitura dovrebbe funzionare per te (premendo il pulsante Indietro).
Nota: il sistema chiama suDestroy() dopo che ha già chiamato onPause() e onStop() in tutte le situazioni tranne uno: quando si chiama finish() dal metodo onCreate().
Supponiamo di avere una terza attività C e di voler andare all'Attività A.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
Intent myIntent = new Intent(ActivityC.this, MainActivity.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);// clear back stack
startActivity(myIntent);
finish();
return;
}
hai davvero testato il traguardo? Come? questo è il modo in cui la finitura – lelloman
() è la strada da percorrere. Cosa significa che non ha aiutato? Forse stai esaurendo la memoria e Android deve ricostruire la tua attività? – Zielony
Non credo ci sia alcuna garanzia che la tua attività precedente sia ancora disponibile. È meglio salvare lo stato utilizzando le preferenze o una sorta di memoria nel caso in cui l'attività sia stata raccolta. – Davos555