【发布时间】:2016-03-02 15:18:46
【问题描述】:
有没有办法以编程方式按下Android软键盘的按键。
喜欢:当键盘出现时,我想通过我的代码而不是手指按“J”键。
【问题讨论】:
-
此操作称为“模拟按键”以供将来参考 xD
-
@RicardoAlexandre 好的,兄弟,我会记住的。
标签: android android-softkeyboard
有没有办法以编程方式按下Android软键盘的按键。
喜欢:当键盘出现时,我想通过我的代码而不是手指按“J”键。
【问题讨论】:
标签: android android-softkeyboard
第一种方法:
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 键盘,但不知道使用其他操作系统的代码是否相同。
【讨论】: