小编shu*_*n11的帖子

如何通过输入法服务将KeyEvent发送到Dialog或Spinner菜单?

我正在尝试实现一个输入方法服务,该服务接收远程客户端发送的意图,并响应那些发送适当的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));
}
Run Code Online (Sandbox Code Playgroud)

KeyEvents如在Simple Sofykeyboard Sample,发送它在家里工作Activities...但是当一个对话框或一个微调器的菜单在前景时它不起作用.

事件被发送到parent activity behind the Dialog.

有没有办法发送密钥和控制设备,如使用输入法的硬件密钥?

更好地解释我正在尝试做什么:

我有点写一个输入法,允许从远程控制设备.

我在一个客户端(我桌面电脑上的一个java应用程序)中编写一个命令(例如"UP"),设备上的服务器sendBroadcast()发送带有信息的意图,输入方法中的接收器获取它并调用keyDownUp在keycode对的DPAD_UP key. 它一般的作品,但是当我去到一个应用程序,显示一个对话框,该keyDownUp方法不将该键事件发送到dialog,例如用于选择是或否按钮,但它一直控制activty后面Dialog.

在这里, 我发现有同样问题的人...但没有答案......

android key-events android-softkeyboard android-input-method

5
推荐指数
1
解决办法
3878
查看次数