Wie man alle Aktivitäten der meine Anwendung töten?
-
25-09-2019 - |
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.
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);
}
}