Android Studio InputConnection.sendKeyEvent不工作

x8diyxa7  于 2023-10-23  发布在  Android
关注(0)|答案(2)|浏览(228)

我目前正在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搜索的情况下,它什么也不做。
第二个,出于某种原因,选择了输入区的所有文本,这是没有意义的。
我做错了什么?按下此按钮时应执行什么操作?

sqserrrh

sqserrrh1#

在做了一些额外的调查后,我终于找到了答案。您需要使用ic.performEditorAction(EditorInfo.IME_ACTION_GO)而不是ic.sendKeyEvent(...)

ogq8wdun

ogq8wdun2#

我刚刚找到了这个答案,但是完成您所要求的正确方法是使用从InputMethodService类继承的sendDefaultEditorAction()方法。

相关问题