Autore Topic: Intercettare un tasto da un service  (Letto 496 volte)

Offline fantom63

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung S3, S2
  • Sistema operativo:
    Android
Intercettare un tasto da un service
« il: 15 Agosto 2013, 15:47:32 CEST »
0
Buongiorno a tutti,
Avrei necessità di intercettare la pressione di un tasto (es. Volume down o up) non da una actvity, ma da un servizio.
È possibile farlo e se si come si può fare?
Grazie in anticipo a tutti quelli che mi possono aiutare.

Offline Gianluca

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S-II (i9100)
  • Sistema operativo:
    Windows 8
Re:Intercettare un tasto da un service
« Risposta #1 il: 16 Agosto 2013, 12:10:56 CEST »
0
Non puoi farlo.

Citazione
Services simply do not receive KeyEvent callbacks.


Leggi qui: listener - Is it possible to create an Android Service that listens for hardware key presses? - Stack Overflow
E qui: android - onKeyDown in a service? (Global Hot Keys) - Stack Overflow

Emblematico:
Citazione
Services run in the background and are not intended to react on user input. That's also the reason of your compiler warning "onKeyDown is undefined for the type Service". Service or any of it's Superclasses don't implement the KeyEvent.

Esistono comunque workaround: dai un occhio ai link di cui sopra.