2016-03-02 109 views

回答

2

第一种方法:

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解释如何使用仪器和web视图做到这一点:

方法二,使用的仪器。

你不需要键盘来做到这一点,你可以显示或不显示。

如果需要,可以列出keyCodes

这个link将显示您按键的每个键的keyCode,我认为它可以与android和linux键盘一起使用,但不知道使用另一个OS的代码是否相同。

+0

谢谢你!它完美的作品。你能告诉我什么是Android的软键盘上“?123”的KeyCode? – MA13

+0

我认为是63,并且常量KEYCODE_SYM。 –

+0

感谢您的回复。但事实并非如此。常量KEYCODE_SYM将显示更改键盘的选项。我已经尝试了许多常量,但没有一个能够从字母键盘视图切换到符号键盘视图的数字。所以,我仍然需要这个常数,这将触发“?123”的按键事件。 – MA13

相关问题