Ich habe eine Login-Aktivität. Nach der Anmeldung wird die Hauptaktivität gestartet, die Fragmente für die Benutzernavigation verwendet. Ich möchte eine Schaltfläche in der Nav-Schublade meiner Haupttätigkeit, die die App vollständig schließen wirdAndroid vollständig zum Beenden einer App
Nun habe ich viele viele Threads zu diesem Thema gesehen und habe versucht, ihre Lösungen zu implementieren. Zum Beispiel:
I finishAffinity()
in meiner Haupttätigkeit versucht habe, die die aktuelle Aktivität sowie alle übergeordneten Aktivitäten
ich versucht habe, mit finish()
auf der Login-Aktivität, sobald ich bis um das Hauptaktivität schließen sollen und ruft dann finish()
erneut auf, wenn der Benutzer auf die Schaltfläche klickt
Die höchste für diese Frage gewählte Antwort: Close application and remove from recent apps/, scheint auch nicht funktionieren. Erstens erfordert android:autoRemoveFromRecents="true"
API> 21, aber selbst wenn ich die minimale SDK-Version auf 21 festgelegt, die App bleibt weiterhin in der Liste
Schließlich habe ich versucht, eine Absicht zu verwenden, wenn der Benutzer auf die Schaltfläche beenden klickt und die Navigation zurück zu der Login-Aktivität und zum Setzen von Flags mit einem Exit-Extra und zum Abschluss der Login-Aktivität (dh exit android application programmatically)
Keines dieser Systeme funktioniert. Sie schließen alle die Hauptaktivität und schließen möglicherweise sogar die Login-Aktivität. Wenn der Benutzer jedoch auf die App-Liste/Aktuelle Apps/App-Öffnen-Taste (bei den meisten Telefonen der eckige Softkey) klickt, ist die App dort immer noch sichtbar. Wenn die App in der Liste angeklickt wird, komme ich zurück zum Login-Aktivitätsbildschirm (ich bin mir nicht sicher, ob die App neu gestartet wird oder ob sie mich nur zum vorherigen Login-Bildschirm führt, der nicht geschlossen wurde)
aus Verzweiflung habe ich versucht, auch System.exit(0)
, die ich kenne, ist schlecht, aber auch das entbindet nicht von der App aus dem App-Liste
So, wie ich ganz programmatisch eine App beenden und entfernen Sie alle Spuren von es ist offen?
EDIT: Ich war zu hastig zu behaupten, eine der Antworten unten funktioniert nicht (siehe Kursiv oben). Die Antwort hat entfernen Sie die App richtig
Sie sollten das nicht tun.Android speichert App-Prozesse so, dass sie so lange wie möglich im Speicher bleiben und wiederverwendet werden, wenn der Nutzer die App erneut verwenden möchte. App-Entwickler sollten dieses Verhalten erwarten. –
Mögliches Duplikat von [Anwendung schließen und aus aktuellen Apps entfernen /] (http://stackoverflow.com/questions/22166282/close-application-and-remove-from-recent-apps). Siehe auch [App von den letzten Apps programmgesteuert entfernen] (https://stackoverflow.com/questions/13385289/remove-app-from-recent-apps-programmatically). – corsair992