Pregunta breve: ¿Es posible (y cómo) mostrar el soft-keyboard desde un Servicio?¿Cómo se muestra el teclado virtual de un servicio?
Pregunta larga: Escribí un servicio que crea una "barra superior", que se muestra en la parte superior de todas las actividades, que contiene un EditText. Quiero mostrar el teclado virtual cuando se hace clic en EditText, pero esto no está sucediendo.
Por supuesto que he probado esto desde onFocusChange del servicio() y onClick():
InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
La solución que se me ocurrió es solicitar la actividad actual para mostrar el teclado, mediante la ampliación de la actividad clase y agregando una interfaz AIDL. El inconveniente es que cada evento clave debe enviarse nuevamente al Servicio (a través de otra interfaz AIDL) y convertirse manualmente en Unicode.
Además, si la actividad actual contiene un EditText, el teclado virtual solo funciona para la actividad y no aparece más cuando se selecciona EditText del servicio.
¿Qué impide que se muestre el teclado virtual del servicio si la actividad actual tiene un EditText? ¿Podría ser una limitación de Android?
hizo a resolver esto? estoy enfrentando el mismo problema –