Frage

Wie kann ich alle Aktivitäten meiner Anwendung töten?

Ich habe versucht this.finish() verwenden, aber es tötet nur eine Aktivität.

In der Tat, ich möchte, wenn der Benutzer die Zurück-Taste berührt (in nur eine der Aktivitäten), die Anwendung das gleiche zu tun, als ob er die Home-Taste gedrückt wird.

War es hilfreich?

Lösung

Sie können einstellen, android:noHistory="true" für alle Ihre Aktivitäten bei AndroidManifest.xml. Daher werden sie stellen sich nicht auf Geschichte Stack und Zurück-Taste gelangen Sie zum Bildschirm nach Hause bringen.

Andere Tipps

Dies wurde schon oft diskutiert. Im Wesentlichen gibt es keine einfache Art und Weise, und es ist eigentlich nicht sein. Benutzer drücken Startseite Ihre App beenden (wie Sie haben darauf hingewiesen).

Überschreiben Sie die onBackPressed Methode, und tun, was passiert, wenn sie die Home-Taste drücken. Es ist nicht wirklich alle Aktivitäten schließt aber, was Sie fragt, ist, dass der Gegendruck in einer bestimmten Aktivität die Home-Taste emuliert.

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

, die Unterbringung in einer Tätigkeit wird nach Hause gehen, wenn Sie wieder drücken. Beachten Sie, dass die ursprüngliche Implementierung der onBackPressed Methode einen Aufruf von super enthält, wird es absichtlich entfernt. Ich weiß, diese Frage Super alt ist, aber er ist ausdrücklich etwas anderes fragen

Um alle Aktivitäten zu töten, verwenden Sie diese Codes auf onBackPressed.

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount()>0) {
       getFragmentManager().popBackStackImmediate();            
    } else {
          finishAffinity();
          System.exit(0);
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top