Domanda

Come posso uccidere tutte le attività della mia domanda?

Ho provato ad utilizzare this.finish() ma solo uccide uno attività.

In realtà, vorrei quando l'utente tocca il pulsante indietro (solo una delle attività), l'applicazione di fare lo stesso come se avesse premuto il pulsante Home.

È stato utile?

Soluzione

È possibile impostare android:noHistory="true" per tutte le vostre attività a AndroidManifest.xml. Di conseguenza, essi non si metteranno sulla storia stack e pulsante indietro vi porterà alla schermata iniziale.

Altri suggerimenti

Questo è stato discusso molte volte in passato. In sostanza non c'è un modo facile, e non ci si suppone di essere. Gli utenti premere Home per uscire la vostra applicazione (come avete sottolineato).

override del metodo onBackPressed, e fare ciò che accade quando si preme il tasto home. Non è proprio la chiusura di tutte le attività, ma quello che stai chiedendo è che la stampa di nuovo in una certa attività emula il tasto home.

@Override
public void onBackPressed() {
    Intent i = new Intent(Intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_HOME);
    startActivity(i);
}

Mettere che in un'attività andrà a casa quando si preme di nuovo. Si noti che l'implementazione originale del metodo onBackPressed include una chiamata a super, viene rimossa apposta. So che questa domanda è super vecchio, ma lui sta chiedendo esplicitamente qualcos'altro

Per uccidere tutte le attività, utilizzare questi codice sul onBackPressed.

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount()>0) {
       getFragmentManager().popBackStackImmediate();            
    } else {
          finishAffinity();
          System.exit(0);
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top