私のアプリケーションでは、ユーザがDPAD_LEFTを押すと、2つのDPAD_UPプレスを生成したいと思っています。 「getCurrentInputConnection()」メソッドを使用することができることに、私はInputMethodServiceを拡張する必要があると私のアプリケーションは、すでに別のクラスを拡張する原因、それは不可能である、プログラムでキープレスを生成する方法
@Override private boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
keyDownUp(KeyEvent.KEYCODE_DPAD_UP);
keyDownUp(KeyEvent.KEYCODE_DPAD_UP);
return true;
}
return super.onKeyDown(keyCode,event);
}
private void keyDownUp(int a) {
getCurrentInputConnection().sendKeyEvent(
new KeyEvent(KeyEvent.ACTION_DOWN, a));
getCurrentInputConnection().sendKeyEvent(
new KeyEvent(KeyEvent.ACTION_UP, a));
}
しかし、私はそれがこのようなメソッドを使用して行うことができます知っています。これを解決する別の方法がありますか?
私が試したが、それはうまくいきませんでした:/ – sjor
うーんeasyer方法は、現在のビュー階層のハンドラを取得し、それはこのようにメッセージを送信することです後で何が起こっているかをテストするかどうかを確認します。 – Nanne