Android «входной ключ оболочки adb keyevent KEYCODE_SEARCH» Не работает

Я хочу KEYCODE_SEARCH событие KEYCODE_SEARCH с использованием ADB в моем коде. Когда я выполняю эту команду, я не вижу никаких действий на клавиатуре. Но если я даю "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"/> 

Благодарю.

Solutions Collecting From Web of "Android «входной ключ оболочки adb keyevent KEYCODE_SEARCH» Не работает"

Установка android:imeOptions="actionSearch" не позволяет вашему текстовому редактору получать событие KEYCODE_SEARCH .

Как описано в Android-ссылке :

андроид: imeOptions
Дополнительные возможности, которые вы можете включить в IME, связанный с редактором, для улучшения интеграции с вашим приложением. Константы здесь соответствуют тем, которые определены imeOptions.

Если вы хотите получить KEYCODE_SEARCH отправленный из ADB, вам необходимо переопределить onKeyDown в своей Activity и вручную вызвать 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 поиск при KEYCODE_SEARCH события KEYCODE_SEARCH , они просто дают фокус в поле поиска