У меня проблема с отображением программной клавиатуры в режиме поиска из сервиса.Я хочу заставить программную клавиатуру показывать с поисковым действием.Когда клавиатура показывает, она появляется с обычной кнопкой ввода, и я хочу, чтобы она имела действие поиска.В настоящее время я использую код ниже, чтобы показать свою клавиатуру:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
Как уже упоминалось выше, я запускаю ее из службы, поэтому после того, как клавиатура видна, я снимаю фокус с моего взгляда с помощью:
params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;
mWindowManager.updateViewLayout(floatingView, params);
Я пытался достичь своей цели, используя фиктивный EditText с imeOptions:
android:imeOptions="actionSearch"
, затем клавиатура находится в режиме поиска, но после отключения фокуса она исчезает.
Я думаю, что моя проблема можетЧтобы решить эту проблему, поставьте флаг InputMethodManager.SHOW_FORCED для клавиатуры EditText или задайте для imm параметры опций actionSearch, но у меня не осталось идей, как этого достичь.