有没有办法以编程方式按Android软键盘键。
喜欢:当键盘出现时,我想按下" J"通过我的代码而不是从手指中键入。
答案 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键盘,但不知道代码是否会使用另一个操作系统相同。