Frage zu Activity und App

  • Antworten:10
  • Bentwortet
Ben Becker
  • Forum-Beiträge: 209

20.06.2011, 17:26:53 via Website

Hiho!
Ich versuche mich gerade an einer weiteren App. Dabei ist mir eine Frage gekommen, denn vielleicht baue ich das ganze falsch auf. Ich habe 4 Aufgaben die erledigt werden können, für jede Aufgabe habe ich eine Activity angelegt. Auf der Startseite sind 4 Buttons und man wählt einer Aufgabe auf. Dann startet die Activity der gewählten Aufgabe. Mit zurück kommt man wieder zur Startseite und die Activity der Aufgabe wird mit finish beendet. Nun hätte ich aber gerne, dass man im Optionsmenü auf "beenden" klickt und dann die App komplett in den Hintergrund geht. Also das selbe passiert wie wenn ich auf den Home Button drücke. Ist es denn sinnvoll eine App so aufzubauen oder habe ich den Sinn der Activitys Falsch verstanden?

— geändert am 23.06.2011, 13:53:45

Antworten
Daniel online
  • Forum-Beiträge: 282

21.06.2011, 10:21:26 via Website

nein ansich passt das so. Nur bei "beenden" würde ich die aktivity ganz beenden oder brauchst du sie dann noch?

Antworten
Ben Becker
  • Forum-Beiträge: 209

21.06.2011, 10:23:54 via Website

Nein ich brauche sie dann nicht mehr. Beendet finish() sie denn nicht ganz?

Antworten
Gelöschter Account
  • Forum-Beiträge: 136

22.06.2011, 17:28:16 via Website

Probiers mal mit

1System.exit(0);

Damit beendest du die App komplett :)


Grüße,
Malte

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

22.06.2011, 18:08:09 via Website

Malte Heyenga
Probiers mal mit

1System.exit(0);

Damit beendest du die App komplett :)


Grüße,
Malte


pfui - sowas sollte mich vorschlagen und auch nicht benutzen!!! activity lifecycle beachten

swordiApps Blog - Website

Antworten
Ben Becker
  • Forum-Beiträge: 209

22.06.2011, 23:23:50 via Website

Also osllte ich keinen Beenden Button anbieten? Sagen wir ich habe 3 Activitys, dann muss der User drei mal auf den Pfeil zurück drücken, oder die Hometaste. Und das ist die Lösung wie sie bei Android gewünscht ist?

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

22.06.2011, 23:26:11 via Website

Je nach App halt, aber ja

du hast einen Activity-Stack und der ist nunmal so.

Wenn du 3 Activities hast und die ersten 2 nicht mehr brauchst, kannst du direkt nach dem starten der 2. und 3. diese mit finish() beenden.

da spricht nichts dagegen.

swordiApps Blog - Website

Antworten
Ben Becker
  • Forum-Beiträge: 209

23.06.2011, 11:14:10 via Website

Achso, das geht also, dass ich erst eine andere Activity starte und dann bei der alten läuft im Hintergrund das noch weiter und ich kann finish() aufrufen. Wahrscheinlich dann in der onPause Methode, oder habe ich das jetzt falsch verstanden? Das hört sich dann für mich gut an.

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

23.06.2011, 11:43:04 via Website

nein

wenn du eine acitivty startest, dann heißt das ja nicht, dass die hintere sich auf einmal sterben legt :D


zB

Intent a = new Intent_zur_neuen_activity(....)
startActivity(a);
finish();
return;

sowas zum beispiel. ganz einfach oder?

swordiApps Blog - Website

Ben Becker

Antworten
Ben Becker
  • Forum-Beiträge: 209

23.06.2011, 13:53:28 via Website

Danke, ja ich dachte irgendwie sie legt sich dann schlafen. :) Hatte es dann aber auch einfach selbst ausprobiert. Was sehr komisch ist, wenn ich schreibe:
finish();
System.out.println("TEST");

Dann gibt er dieses Test aus. Beendet das finish die Activity nicht sofort? Sorry wegen den ganzen Fragen, versuche diese Stelle nur grade sauber zu verstehen.

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

23.06.2011, 13:54:41 via Website

naja schau dir den acitivty lifecycle halt mal an.

es wird noch onPause onStop und on Destroy aufgerufen werden.

swordiApps Blog - Website

Ben Becker

Antworten