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

MA1*_*A13 5 android android-softkeyboard

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

喜欢:当键盘出现时,我想通过我的代码而不是手指按“J”键。

Ric*_* A. 4

第一种方法:

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

您可以在此处查看更多详细信息。此链接中还有另一种方法。

第二种方法,使用仪器:

Instrumentation inst = new Instrumentation();
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);
Run Code Online (Sandbox Code Playgroud)

您可以看到这个问题,它解释了如何使用仪器和 webview 来做到这一点。

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

如果需要,可以提供键码列表。

链接将显示您按下的每个键的 keyCode,我认为它适用于 android 和 Linux 键盘,但不知道使用其他操作系统时该代码是否相同。