412 Stimmen

Wie man eine Android-Anwendung programmatisch beendet

Ich habe einige Codes zum programmgesteuerten Beenden einer Android-Anwendung gefunden. Wenn ich einen der folgenden Codes in onDestroy() aufrufe, wird dann die Anwendung vollständig beendet?

  1. System.runFinalizersOnExit(true)
    (OR)
  2. android.os.Process.killProcess(android.os.Process.myPid());

Ich möchte nicht, dass meine Anwendung im Hintergrund läuft, nachdem ich auf die Schaltfläche "Beenden" geklickt habe. Bitte informieren Sie mich, ob ich einen dieser Codes verwenden kann, um meine Anwendung zu beenden? Wenn ja, welchen Code kann ich verwenden? Ist es ein guter Weg, um die Anwendung in Android zu beenden?

8voto

MobileMateo Punkte 424

Wir wollen einen robusten und einfachen Code. Diese Lösung funktioniert auf alten und neueren Geräten.

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        getActivity().finishAffinity();
    } else{
        getActivity().finish();
        System.exit( 0 );
    }

7voto

Ciprian Punkte 2839

Ich denke, was Sie suchen, ist Folgendes

activity.moveTaskToBack(Boolean nonRoot);

6voto

meduvigo Punkte 1347
public void quit() {
        int pid = android.os.Process.myPid();
        android.os.Process.killProcess(pid);
        System.exit(0);
    }

6voto

Micer Punkte 8088

Wenn Sie Kotlin verwenden, ist der richtige Weg zum Beenden der Anwendung und die Alternative zu System.exit() ist eine eingebaute Methode

exitProcess(0)

Siehe die Dokumentation .

Nummer 0 als Parameter bedeutet, dass der Ausgang beabsichtigt ist und kein Fehler aufgetreten ist.

6voto

Raghunandan Punkte 131351

Ist es verpönt, eine Bewerbung abzubrechen? . Gehen Sie diesen Link durch. Er beantwortet Ihre Frage. Das System erledigt die Aufgabe, eine Anwendung zu beenden.

Angenommen, Sie haben zwei Aktivitäten A und B. Sie navigieren von A zu B. Wenn Sie auf die Schaltfläche Zurück klicken, wird Ihre Aktivität B aus dem Backstack entfernt und zerstört. Die vorherige Aktivität im Backstack, Aktivität A, erhält den Fokus.

Sie sollten es dem System überlassen, zu entscheiden, wann es die Anwendung beendet.

public void finish()

Rufen Sie dies an, wenn Ihre Aktivität beendet ist und abgeschlossen werden sollte.

Angenommen, Sie haben viele Aktivitäten, dann können Sie die Aktionsleiste verwenden. Wenn Sie auf das Home-Symbol klicken, navigieren Sie zur MainActivity Ihrer Anwendung. Klicken Sie in der MainActivity auf die Schaltfläche "Zurück", um die Anwendung zu verlassen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X