Quello che sto cercando di ottenere sono tasti di scelta rapida globali personalizzati o, in altre parole, "le cose accadranno quando premo determinati pulsanti indipendentemente dal programma attualmente in cima".
Suppongo che sia necessario un servizio.onKeyDown in un servizio? (Tasti di scelta rapida globali)
Ho un test rapido e sporco che mi dice solo cosa è stato premuto che funzionerà se è la finestra attiva.
public boolean onKeyDown(int keyCode, KeyEvent event) {
char pop;
pop = (char)event.getUnicodeChar();
Toast.makeText(this, Character.toString(pop) , Toast.LENGTH_SHORT).show();
return super.onKeyDown(keyCode, event);
}
Ma ovviamente se cambio finestra o vado in una casella di testo non funziona. Se lo inserisco direttamente in un servizio (o un imputmethodservice) e avvio il servizio, non succede nulla. (Alcune autorizzazioni richieste forse?) Qualche suggerimento dove sto andando male? O un modo migliore di catturare quale pulsante è premuto?
Grazie!
hiii se si tratta di una soluzione per questo, allora fammi fare knw. –
@Vincent Romain Guy lavora nel team Android, ha detto che è [impossibile] (http://stackoverflow.com/a/3455094/942821). E Fizz, potresti accettare la risposta di Romain? –
possibile duplicato di [È possibile creare un servizio Android che è in ascolto per la pressione dei tasti hardware?] (Http://stackoverflow.com/questions/2986337/is-it-possibile-per-creare-an-android-service- that-listens-for-hardware-key-presse) – isalgueiro