onKeyDown dans un service? (Touches de raccourci globales)
Ce que j'essaie à atteindre est de coutume mondial de touches de raccourci, ou en d'autres termes, "les choses vont se produire lorsque que j'appuie sur certaines touches de n'importe quel programme est actuellement sur le dessus'.
Je suppose qu'un service est nécessaire.
J'ai un moyen rapide et sale de test qui me dit juste ce qui a été pressé que de travailler si c'est la fenêtre active.
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);
}
Mais, évidemment, si je change de fenêtre ou dans une zone de texte, il ne fonctionne pas. Si je le coller directement dans un service (ou un imputmethodservice) et de lancer le service, rien ne se passe. (Certaines autorisations requises peut-être?)
Toutes les suggestions où je vais mal? Ou une meilleure façon de capturer le bouton est pressé?
Merci!
source d'informationauteur Fizz
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas le faire 🙂
Cela nécessite Sucette (v5.0/API 21) ou plus
Mon objectif était d'ajuster le volume du système à partir d'un Service, ce qui permettra de n'écouter que pour les bas de caisse. Toute action peut être prise sur la presse.
Il a priorité sur la touche de volume touche d'action, afin de l'utiliser à l'échelle mondiale ne peut pas être désiré.