onKeyListener Problem

  • Antworten:5
  • Bentwortet
Gelöschter Account
  • Forum-Beiträge: 66

21.09.2010, 15:52:32 via Website

Hallo,

ich versuche einen onKeyListener zu implementieren damit mein Programm beim drücken der "HOME" Taste beendet.

Haben den Listener implementiert und haben die onKey Methode so überschrieben

1@Override
2 public boolean onKey(View view, int keyCode, KeyEvent event) {
3
4 if(keyCode == KeyEvent.KEYCODE_HOME){
5 Log.i("HOME", "home");
6 finish();
7 }
8 return true;
9 }

Aber irgendwie ruft er diese Methode beim drücken der HOME Taste nicht auf.

Kann mir jemand helfen?

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

21.09.2010, 18:28:27 via Website

Ich meine mal gelesen zu haben das man den HOME Key nicht abfragen kann ... Bin mir da aber nicht ganz sicher.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

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

21.09.2010, 22:18:04 via Website

Ehrlich gesagt würde es mich auch tierisch nerven wenn eine App da irgendwas anderes drauf legen würde :)
Was soll das finish überhaupt bringen? Naja , wird nicht aber onPause()/onStop() aufgerufen wenn du den HOME-Button drückst? Könntest ja dann diese überschreiben wenn du magst...

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

22.09.2010, 08:06:03 via Website

danke für die antworten.

ich möchte die Home Taste anders belegen, da meine app mit einem Login funktioniert und aus sicherheitsgründen soll die app so beenden, dass sich der Benutzer bei erneutem starten wieder anmelden muss (das wird durch finish()) geregelt. Das mit onPause() hatte ich schonmal ausprobiert, das funktioniert wunderbar, bloß das problem ist, das dadurch die app auch beim drücken auf die zurück taste beendet.

Also die app soll beim drücken auf die "HOME" Taste beenden aber nicht beim drücken auf die "ZURÜCK" Taste.

Keiner eine idee?

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

22.09.2010, 13:01:10 via Website

Soweit Ich das sehe wird das nicht gehen, du kannst die Taste nicht abfragen. Und mittels zurück wird eine APP nicht beendet vielmehr "schläft" die APP bis man diese wieder in den Vordergrund holt oder die Runtime entscheidet das diese "weggeworfen" wird.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Michael compute4you
  • Forum-Beiträge: 14

24.09.2010, 20:33:03 via Website

Wie hier schon gesagt wurde ist es nicht möglich die HOME taste "abzufangen". Du schreibst dass Du beim Start der Applikation ein Login password abfragen willst. Da Du mit der HOME taste die Applikation nur "schlafen" legst funktioniert das so nicht. Du kannst aber leicht erkennen wann du einen Login benötigst indem Du einen "Watchdog" implementierst, der nach bestimmter Nichtbenutzung der Applikation ein erneutes Login fordert.

MfG

Antworten