Ich bin sicher, dass diese Frage mehrmals gestellt wurde, weil ich einige gelesen habe. Mein Kunde möchte, dass ich eine Schaltfläche in seine App einfüge, über die Benutzer klicken und beenden können. Ich habe dies und fand Aufruf finish()
wird es tun. Aber beenden beendet nur die aktuelle laufende Aktivität, oder? Ich habe viele Aktivitäten, daher muss ich in diesem Fall die Instanz jeder Aktivität übergeben und beenden oder jede Aktivität in ein Singleton-Muster umwandeln.
Ich habe auch erfahren, Activity.moveTaskToBack(true)
dass Sie auf den Startbildschirm gelangen können. OK, dies wird nicht geschlossen, sondern als Hintergrund für den Prozess. Ist das also effektiv?
Mit welcher Methode kann ich die App vollständig schließen? Eine der oben beschriebenen oder eine andere Methode / andere Verwendung der oben genannten Methoden?
quelle
Antworten:
Eigentlich sucht jeder nach dem Schließen der Anwendung bei einem Onclick-Ereignis, wo immer Aktivität sein mag ....
Also Jungs Freunde versuchen diesen Code. Fügen Sie diesen Code in das Ereignis onclick ein
quelle
Sie können System.exit () aufrufen. aus allen Aktivitäten herauszukommen.
quelle
Die in API 16 veröffentlichte Methode finishAffinity schließt alle laufenden Aktivitäten und die App:
Seit API 21 können Sie Folgendes verwenden:
Alternativen:
Quelle: So beenden Sie die Android-Anwendung programmgesteuert
Ich hoffe es hilft! Viel Glück!
quelle
Wenn Sie Ihre Anwendung beenden möchten, verwenden Sie diesen Code in Ihrem Ereignis mit gedrückter Taste:
quelle
quelle
Es ist viel zu einfach. Verwenden
System.exit(0);
quelle
Tatsächlich gibt es zwei mögliche Situationen:
Sie können die Aktivität mit folgendem Code beenden:
Dadurch werden jedoch die zugrunde liegenden Aktivitäten in derselben Anwendung nicht beendet. Dies minimiert nur die Anwendung.
Wenn Sie die Anwendung beenden möchten, verwenden Sie den folgenden Code, um den Prozess zu beenden:
Für die Mono-Entwicklung einfach verwenden
quelle
android.os.Process.killProcess(android.os.Process.myPid());
undprocess.KillProcess(Process.MyPid());
?Wie wäre es mit
this.finishAffinity()
Aus den Dokumenten,
quelle
quelle
Dadurch wird die Aufgabe (Stapel von Aktivitäten) gelöscht und eine neue Aufgabe gestartet
quelle
quelle
füge dieses in dein onClic ein:
quelle
movewTaskToBack
beendet nichts, sondern versteckt nur die App und beendet,finish
wie von anderen erwähnt, nur die aktuelleactivity
. Es beendet also die aktuelle Aktivität und verbirgt den Rest, falls vorhanden. Auf jeden Fall sollte es nicht nur dafür eine Abwertung geben ...Versuchen Sie dies bei einem Anruf. Ich benutze es manchmal in einem Klick auf eine Schaltfläche.
Anstatt Ihre App zu schließen, wird das Dashboard geöffnet, sodass es so aussieht, als wäre Ihre App geschlossen.
Lesen Sie diese Frage für mehr Klarheit Android - Anwendungscode beenden
quelle
Verwenden Sie this.finishAffinity (); auf dieser Schaltfläche anstelle von finish (); Wenn es nicht funktioniert, können Sie es auch versuchen, indem Sie android: noHistory = "true" in Ihr Manifest einfügen und Ihre Aktivität dann mit uisng finish () beenden. oder finishAffinity ();
Ich hoffe es hilft....:)
quelle
Erreichen in Xamarin.Android:
quelle
Rufen Sie einfach diese beiden Funktionen auf
quelle
Geisteraktivität, die mit Singletop und finish () auf onCreate aufgerufen wird, sollte den Trick machen
quelle
Es funktioniert nur mit
moveTaskToBack(true);
quelle
Anstelle von System.exit (1) Verwenden Sie einfach System.exit (0).
quelle
Wenn jemand noch fragt, für Xamarin.Android (in meinem Fall auch monogame darauf läuft) das Kommando
FinishAndRemoveTask()
aufActivity
macht den Job sehr gut!quelle
im Fragment
getActivity (). finishAndRemoveTask ();
in der Aktivität
finishAndRemoveTask ();
quelle
Verwenden Sie einfach den Code in Ihrem Backpress
quelle
Wenn Sie EventBus (oder wirklich jede andere Pub- / Unterbibliothek) in Ihrer Anwendung verwenden, um zwischen Aktivitäten zu kommunizieren, können Sie ihnen ein explizites Ereignis senden:
Der einzige Nachteil dabei ist, dass Sie alle Aktivitäten benötigen, um dieses Ereignis anzuhören und sich selbst zu nennen
finish()
. Zu diesem Zweck können Sie auf einfache Weise Shim- Aktivitätsklassen durch Vererbung erstellen, die nur dieses Ereignis abhören und Unterklassen alles andere implementieren lassen. Stellen Sie dann sicher, dass alle Ihre Aktivitäten von dieser zusätzlichen Ebene erben. Die Kill-Listener könnten durch Überschreibungen sogar zusätzliche Funktionen hinzufügen, z. B. das Vermeiden des Todes in bestimmten Situationen.quelle
Führen Sie einfach die folgenden zwei Zeilen aus, wenn Sie die Anwendung beenden möchten
quelle
arbeitete für mich
quelle
Nennen Sie dies einfach:
quelle
Verknüpfen Sie diese Methode mit Ihrer Schaltfläche zum Beenden / Beenden
quelle
Verwenden Sie diesen Code, er ist sehr nützlich und Sie können alle Aktivitäten beenden.
quelle
Wenn Sie sowohl Beenden als auch Beenden verwenden, wird Ihre App vollständig geschlossen
Fertig();
System.exit (0);
quelle