首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android "adb shell input keyevent KEYCODE_SEARCH“不工作

Android "adb shell input keyevent KEYCODE_SEARCH“不工作
EN

Stack Overflow用户
提问于 2015-04-13 11:32:34
回答 1查看 3.2K关注 0票数 18

我想在代码中使用ADB来触发KEYCODE_SEARCH事件。当我执行这个命令时,我在键盘上看不到任何动作。但是如果我给"adb shell input keyevent KEYCODE_1",它就能完美地工作。请给我任何解决方案的火灾搜索事件使用ADB

我现在的代码是这样的。

代码语言:javascript
复制
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_SEARCH) {
            performSearch();
            return true;
        }
        return false;
    }
});


<EditText android:imeOptions="actionSearch" 
    android:inputType="text"/>

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-15 22:14:12

设置android:imeOptions="actionSearch"不允许您的编辑文本接收KEYCODE_SEARCH事件。

Android reference上所述

android:imeOptions

您可以在与编辑器关联的IME中启用其他功能,以改进与应用程序的集成。这里的常量对应于imeOptions定义的常量。

如果要接收从ADB发送的KEYCODE_SEARCH,则需要覆盖Activity中的onKeyDown并手动调用onEditorAction

代码语言:javascript
复制
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_SEARCH){
        editText.onEditorAction(EditorInfo.IME_ACTION_SEARCH);
        return true;
    }else{
        return super.onKeyDown(keyCode, event);
    }
}

请注意,当发送KEYCODE_SEARCH事件时,其他应用程序不会触发搜索,它们只是将焦点放在搜索框上

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29597445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档