Android:如何在软键盘上触发任何按键事件?

时间:2016-03-02 15:18:46

标签: android android-softkeyboard

有没有办法以编程方式按Android软键盘键。

喜欢:当键盘出现时,我想按下" J"通过我的代码而不是从手指中键入。

1 个答案:

答案 0 :(得分:3)

第一种方法:

IBinder binder = ServiceManager.getService("window"); 
IWindowManager manager = IWindowManager.Stub.asInterface(binder);
manager.injectKeyEvent(new KeyEvent(KeyEvent.yourAction, KeyEvent.yourKeyCode),true);

您可以查看更多详情here。 此链接中还有另一种方法。

第二种方法,使用仪器:

Instrumentation inst = new Instrumentation();
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);

你可以看到这个question解释了如何使用检测和webview来做到这一点。

您不需要键盘来执行此操作,您可以显示或不显示。

如果您愿意,可以列出keyCodes

这个link将显示你按下的每个键的keyCode,我认为它适用于android和linux键盘,但不知道代码是否会使用另一个操作系统相同。