Мое приложение иногда показывает уведомление, чтобы упростить переключение на внутренний метод ввода приложения. Поэтому я выполняю
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)).showInputMethodPicker();
когда пользователь нажимает на уведомление.
До сих пор это работало, но не всегда работает на Android 9: когда мое приложение находится на переднем плане, оно работает. Когда это не так, ничего не происходит. На logcat я вижу предупреждение
«Предупреждение 889 InputMethodManagerService игнорирует showInputMethodPickerFromClient uid 10210: com.android.internal.view.IInputMethodClient$Stub$Proxy@edf46f0».
Есть ли способ сделать эту работу снова?
Обновление: я попытался создать действие, вызвав showInputMethodPicker();
в onResume()
. Это работает (если я использую postDelayed()
с относительно большой задержкой, к сожалению), но я не могу заставить активность автоматически закрываться. Так что это не кажется хорошим способом.