Hi, kurze Frage:
mit finish() kann ich ja eine activity beende, aber wie beende ich die gesamte App (mit mehreren activities)?
Gruß
Vermeer
Hi, kurze Frage:
mit finish() kann ich ja eine activity beende, aber wie beende ich die gesamte App (mit mehreren activities)?
Gruß
Vermeer
Ist schon etwas länger her aber ich stehe vor dem selben Problem.
Hat da jemand eigentlich eine Antwort drauf?
LG
Marco
Hallo Marco, kein Problem - wir nehmen auch wieder aufgewärmtes.
Ich hab das mal so gemacht, dass ich jede Activity aufgerufen hab mit startActivityForResult(...) und wenn eine Activity ordnungsgemäß _alles_ beenden will, dann gibt sie dem Result-Intent einfach eine entsprechende Variable mit auf den Weg - im anschließenden onActivityResult kann dann gleich weiter gefinisht werden.
Allerdings eventuell auf dem Weg noch ein paar Daten sichern oder Cursor/Services schließen etc. Aber das macht wahrscheinlich besser der onPause(), der im Verlauf von finish() aufgerufen wird. Darum sollte finish() auch das letzte sein, was du in onActivityResult aufrufst.
Android ist eigentlich nicht so gebaut, das du eine App wirklich beenden musst.
Wenn das OS Speicher braucht und im Hintergrund Apps auf dem Stack liegen welche da so vor sich hin dümpeln, dann beendet er diese und gibt den Speicher frei.
Wenn man selber Daten sichern bzw. wiederherstellen muss, sollte man sich mal auch mit onPause/onResume auseinander setzen.
Im Internet kursieren noch ein paar Lösungen wie man die App im Taskmanager "abschiessen" kann, aber dieser Weg ist wegen oben genannter Funktionsweise nicht empfehlenswert.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!