Wenn der Benutzer alle geöffneten Aktivitäten beenden möchte , sollte er eine Schaltfläche drücken, die die erste Aktivität lädt, die beim Start Ihrer Anwendung ausgeführt wird, alle anderen Aktivitäten löschen und die letzte verbleibende Aktivität beenden. Lassen Sie den folgenden Code ausführen, wenn der Benutzer die Exit-Taste drückt. In meinem Fall LoginActivity
ist dies die erste Aktivität in meinem Programm, die ausgeführt wird.
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
Der obige Code löscht alle Aktivitäten außer LoginActivity
. Fügen Sie dann den folgenden Code in das LoginActivity
's ein onCreate(...)
, um zu warten, wann LoginActivity
neu erstellt und das' EXIT'-Signal übergeben wurde:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
Warum ist es so schwierig, eine Exit-Schaltfläche in Android zu erstellen?
Android ist bemüht, Sie davon abzuhalten, eine Schaltfläche zum Beenden in Ihrer Anwendung zu verwenden, da der Benutzer sich nie darum kümmern soll, ob die von ihm verwendeten Programme im Hintergrund ausgeführt werden oder nicht.
Die Entwickler von Android-Betriebssystemen möchten, dass Ihr Programm ein unerwartetes Herunterfahren und Ausschalten des Telefons übersteht. Wenn der Benutzer das Programm neu startet, wird es genau dort fortgesetzt, wo es aufgehört hat. So kann der Benutzer einen Anruf erhalten, während er Ihre Anwendung verwendet, und Karten öffnen, für die Ihre Anwendung für mehr Ressourcen freigegeben werden muss.
Wenn der Benutzer Ihre Anwendung wieder aufnimmt, wird er ohne Unterbrechung genau dort fortgesetzt, wo er aufgehört hat. Diese Exit-Schaltfläche beansprucht die Stromversorgung des Aktivitätsmanagers und verursacht möglicherweise Probleme mit dem automatisch verwalteten Lebenszyklus des Android-Programms.