Frage

habe ich ein Kind App für Android und es gibt einige eindeutigen Bedingungen für diese Anwendung, da die App im Grunde keine Navigation hat (es ist für kleine Kinder). Ich möchte nicht meine app UI brechen (die auf dem iPhone erfolgreich war) durch Hinzufügen eines quit / Restart-Taste.

Was ich wirklich brauchen, ist ziemlich einfach - ich möchte, dass meine Tätigkeit / app sauber und neu jedes Mal starten es beginnt. Ob es sich um eine Anfangslast oder was auch immer - grundsätzlich jederzeit onResume genannt wird möchte ich eine ganz neue Instanz meiner App.

Ich dachte zunächst, konnte ich nur verlassen / quit / die App beenden, wenn der Benutzer Blätter. Aber ich fand, haben keine Möglichkeit, dies zu tun, die nicht abstürzt verursacht beim Start. Auch jeder Thread / Stack-Überlauf-Post über diese Idee ist gefüllt mit Menschen ihre Finger wedelt und sagen, Sie sollten nie eine App auf Android beenden.

Wenn ich die App nicht onExit verlassen kann, gibt es etwas, was ich tun kann, meine Tätigkeit jedes Mal neu zu starten onResume genannt wird? (Oder wäre die eine unendliche Schleife sein?).

Würde schätzen jede Hilfe!

War es hilfreich?

Lösung

Versuchen Sie, Ihre Haupttätigkeit in onResume Starten und Löschen der Aktivität Stack:

public void onResume() {
    super.onResume();
    startActivity(new Intent(this, MainScreen.class).addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
}

Vielleicht sind dies nicht die correctl Flaggen hinzufügen, aber überprüfen Sie die anderen Intent Flaggen und dies könnte das tun, was Sie wollen!

Absicht Flaggen Dokumentation

Andere Tipps

Ended bis es zu funktionieren immer von Finish () aufrufen, in onPause ().

Auch ich schätze die Beratung von Menschen, die sagen: „Das ist nicht, wie Android tut Dinge“. Ich habe eine ziemlich gute bekam an diesem Punkt der besten Praktiken zu verstehen. Dies ist eine ungewöhnliche Situation für eine ungewöhnliche Art von Benutzer.

in Ihrem reload können Sie diese versuchen ..

onStop();
onCreate(getIntent().getExtras());
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top