私が基本的に達成しようとしているのは、カスタムのグローバルホットキーです。つまり、「現在どのプログラムが最上位にあるかに関係なく、特定のボタンを押すと何かが発生します」。
サービスが必要だと思います。
私は、それがアクティブなウィンドウである場合に機能する、押されたものを教えてくれる、迅速で汚いテストを行っています。
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);
}
しかし、明らかに、ウィンドウを変更したり、テキストボックスに移動したりすると、機能しません。それをサービス(またはimputmethodservice)に直接貼り付けて、そのサービスを起動しても何も起こりません。(おそらくいくつかの許可が必要ですか?)私が間違っているところに何か提案はありますか?または、どのボタンが押されたかをキャプチャするためのより良い方法はありますか?
ありがとう!