我目前正在Android Studio中为Android制作自己的自定义软键盘(目前正在用它输入LOL)。我设法创建和编程了所有的东西,除了一个非常重要的键:搜索/输入按钮(位于键盘右下角)。基本上,我目前面临的主要和唯一的问题是,我不能完成一个网址搜索(例如。在Chrome上)当我按下那个键时。这是我用它尝试的两个动作:
InputConnection ic = getCurrentInputConnection();
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_ENTER));
和
InputConnection ic = getCurrentInputConnection();
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SEARCH));
第一个工作,因为它应该在每一个其他情况下,但这一个(前。作为输入按钮或作为Google浏览器中的搜索按钮)。在URL搜索的情况下,它什么也不做。
第二个,出于某种原因,选择了输入区的所有文本,这是没有意义的。
我做错了什么?按下此按钮时应执行什么操作?
2条答案
按热度按时间sqserrrh1#
在做了一些额外的调查后,我终于找到了答案。您需要使用
ic.performEditorAction(EditorInfo.IME_ACTION_GO)
而不是ic.sendKeyEvent(...)
ogq8wdun2#
我刚刚找到了这个答案,但是完成您所要求的正确方法是使用从
InputMethodService
类继承的sendDefaultEditorAction()
方法。