我正在尝试实现一个输入法服务,该服务接收远程客户端发送的意图,并响应这些意图发送一个适当的 KeyEvent。
我在input method service这个方法中使用
private void keyDownUp(int keyEventCode)
{
getCurrentInputConnection().sendKeyEvent(
new KeyEvent(KeyEvent.ACTION_DOWN, keyEventCode));
getCurrentInputConnection().sendKeyEvent(
new KeyEvent(KeyEvent.ACTION_UP, keyEventCode));
}
在 ..中发送KeyEvents,Simple Sofykeyboard Sample它可以在家中,在Activities... 中发送,但是当 Dialog 或 Spinner 的菜单位于前台时,它不起作用。
事件被发送到parent activity behind the Dialog.
有没有办法像使用输入法中的硬件键一样发送键和控制设备?
更好地解释我正在尝试做的事情:
我正在编写一种允许从远程控制设备的输入法。
我在客户端(台式电脑上的 java 应用程序)中编写命令(例如“UP”),设备上的服务器sendBroadcast()发送带有信息的意图,输入法中的接收器获取它并调用 keyDownUp它通常keycode可以DPAD_UP key.
工作,但是当我转到显示对话框的应用程序时,该keyDownUp方法不会将键事件发送到dialog,例如选择是或否按钮,但它会继续activty控制Dialog.
在这里 我找到了有同样问题的人......但没有答案......