Как генерировать нажатия клавиш программно Android

В моем приложении, когда пользователь нажимает DPAD_LEFT, я хочу сгенерировать два нажатия DPAD_UP. Я знаю, что это может быть выполняется с помощью такого метода:

@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));

}

Но, чтобы иметь возможность использовать метод "getCurrentInputConnection ()", мне нужно расширить InputMethodService, и это невозможно, потому что мое приложение уже расширяет другой класс. Есть ли другой способ решить эту проблему?

5
задан Nanne 11 February 2011 в 09:01
поделиться