Wie die Zurück (back) Taste simulieren (tastendruck)?

  • Antworten:17
  • Bentwortet
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

24.12.2012, 15:39:04 via Website

Hallo,
ich mochte die Zurück Taste simulieren und ich finde dafür keinen Befehl.

finish(); ist das Falsche, da ich dann in die zuletzt geöffnete Activity komme.

Vielen dank im Voraus

PS: Frohe Weinachten :lol:

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
JOnas S
  • Forum-Beiträge: 2.256

24.12.2012, 16:03:07 via App

ich würde in den button schreiben das er in die Methode davor geht
z.B Methode1();

gruß Jonas ||Galaxy S with cm10.1 4.2.1|| gegen überlange Zitate

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

24.12.2012, 17:11:12 via Website

Pascal
ich mochte die Zurück Taste simulieren und ich finde dafür keinen Befehl.

finish(); ist das Falsche, da ich dann in die zuletzt geöffnete Activity komme

Verstehe ich nicht - wohin soll denn Dein Back-Button führen? Bei fast allen von mir genutzten Apps führt der Back-Button zu der vorherigen Activity.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.12.2012, 10:11:52 via Website

Eigentlich will ich nur die Funktion des Back Buttons ausführen:

z.b. back();

Dies soll genau das gleiche machen, wie der Back Button.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Daniel
  • Forum-Beiträge: 177

27.12.2012, 20:19:34 via Website

Pascal

finish(); ist das Falsche, da ich dann in die zuletzt geöffnete Activity komme.
Das ist aber genau das was der Back-Button macht. Wenn man den drückt wird die aktuelle Activity beendet und die davor geöffnete wiederhergestellt. So weit ich weiß macht der Back-Button auch nichts anderes als finish() aufzurufen. Nach dem Aufruf von finish() wird dann onPause(), onStoppe() und onDestroy() gecallt.

Siehe dazu auch die Android Dokumentation:
When the user presses the Back button, the current activity is popped from the top of the stack (the activity is destroyed) and the previous activity resumes (the previous state of its UI is restored).
http://developer.android.com/guide/components/tasks-and-back-stack.html

Antworten
Yoshi
  • Forum-Beiträge: 16

27.12.2012, 22:59:10 via Website

hey hey,

meinst du sowas wie "System.exit(0);" das die komplette App "gekillt" wird und du wieder zum Homescreen kommst?

Da würde ich dir als Alternative doch eher
1ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
2List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
3ComponentName componentInfo = taskInfo.get(0).topActivity;
4am.killBackgroundProcesses(componentInfo.getPackageName());

empfehlen.

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

28.12.2012, 00:03:33 via App

Wer unter Android auf diese Art mit Prozessen hantiert hat das Entwickeln für Betriebssysteme auf mobilen Devices - hier speziell Android - nicht verstanden.

Android ist darauf optimiert das Benutzer Ihre Anwendungen eben nicht explizit beenden sondern nur in den Hintergrund drücken und letztendlich genießen wir doch alle wie schnell wir zwischen den Apps hin und her zappen können.

Warum wollen überwiegend die Entwickler hier immer den unsinnigen exit() o.ä. in Ihre Apps einbauen? Ich verstehe es nicht ...

Rafael K.Phil G.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

28.12.2012, 18:42:05 via Website

Hallo,
ich will die Apps nicht mit exit(); beenden.
Ich suche eher einen Befehl, der es mir erlaubt, in einem Preference Screen zur Home Preference Kategorie zu gehen.
Diese Geschichte mit dem Beenden oder Force close von Apps finde ich auch blöd.

— geändert am 28.12.2012, 18:48:29

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

29.12.2012, 00:54:39 via Website

Das habe ich schon einmal gesagt.So etwas bringt mir nichts.
Mir wäre geholfe,wenn ihr mir sagen könntet welche Funktionen der Back button ausführt.
Mit dem button funktioniert es nähmlich. :-)

LG Pascal //It's not a bug, it's a feature. :) ;)

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

29.12.2012, 02:43:23 via App

Nochmal: finish()

Hier ein Zitat der Doku zu onBackPressed():

Called when the activity has detected the user's press of the back key. The default implementation simply finishes the current activity, but you can override this to do whatever you want.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

29.12.2012, 08:22:27 via Website

Wenn es wiklich finish(); ist, dann funktioniert es bei mir nicht.
Ich weiß aber nicht wieso.
Ich habe ein Xml Dokument preferences. Dort sind meine ganzen Felder gespeichert u.a auch ein ganz Normales Preference Feld.
Wenn ich nun in ein neues Fenster ( unter preference )gehe dann will ich mit einem cklick auf den zurück button wieder in die Standart Ansicht der Preference Activity kommen.
Was muss ich tun?
Mit finish(); beende ich die Activity und gehe zur letzten Activity.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

29.12.2012, 08:45:03 via Website

Eigentlich ist der Code überflüssig ich muss nur wissen wie ich einen Preference Screen Beende.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

29.12.2012, 11:06:45 via Website

Eigentlich ist der Code überflüssig

Wenn es bei dir nicht funktioniert, dann ist der Code ganz und gar nicht überflüssig; im Gegenteil erweckst du damit eher den Eindruck, das du dir nicht helfen lassen willst.
Die freundlichen Mitleser sollen weiter blind herumraten, was dein Problem ist?

Ich mach' mal mit:
Wenn du "in ein neues Fenster ( unter preference )geh"st, dann wird dazu weder eine neue Activity noch ein Dialog geöffnet, sondern in derselben Activity die Ansicht gewechselt?
In dem Fall würde finish() natürlich trotzdem "die" Activity schließen statt wie der Zurück-Pfeil im Browser zu funktionieren.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

29.12.2012, 11:15:31 via Website

Da hast du ganz recht.
Genau dieses Problem habe ich.
Ich weiß auch nich welchen Code ausschnitt ich überhaupt posten soll.
Wie ist es denn, Kann ich einen Preference Screen mit einem Befehl verlassen?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

29.12.2012, 12:05:53 via Website

Ich habe begriffen, dass ich mein Problem falsch beschrieben habe.
Ich schließe Thread und löse mein Problem auf andere Weise

Aber Trotzdem Vielen Dank für eure mühen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten