我想在代码中使用ADB
来触发KEYCODE_SEARCH
事件。当我执行这个命令时,我在键盘上看不到任何动作。但是如果我给"adb shell input keyevent KEYCODE_1"
,它就能完美地工作。请给我任何解决方案的火灾搜索事件使用ADB
。
我现在的代码是这样的。
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"/>
谢谢。
发布于 2015-04-15 22:14:12
设置android:imeOptions="actionSearch"
不允许您的编辑文本接收KEYCODE_SEARCH
事件。
android:imeOptions
您可以在与编辑器关联的IME中启用其他功能,以改进与应用程序的集成。这里的常量对应于imeOptions定义的常量。
如果要接收从ADB发送的KEYCODE_SEARCH
,则需要覆盖Activity
中的onKeyDown
并手动调用onEditorAction
@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
事件时,其他应用程序不会触发搜索,它们只是将焦点放在搜索框上
https://stackoverflow.com/questions/29597445
复制相似问题