Comment Générer des touches par programmation Android

Dans mon application lorsque l'utilisateur appuie sur DPAD_LEFT, je veux générer deux DPAD_UP presses. Je sais que cela peut être fait en utilisant une méthode comme ceci:

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

}

Mais, pour être en mesure d'utiliser "getCurrentInputConnection()" la méthode, j'ai besoin d'étendre InputMethodService et il est impossible à cause de mon application s'étend déjà à une autre classe. Est-il une autre façon de résoudre ce problème?

OriginalL'auteur sjor | 2011-02-11