¿Cómo mostrar el Teclado desde un Servicio?

Pregunta corta: ¿Es posible (y cómo) mostrar 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 soft-teclado cuando se hace clic en EditText, pero esto no está sucediendo.

Por supuesto, he intentado esto desde el servicio onFocusChange () 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 clase de actividad y la adición de una interfaz AIDL. El inconveniente es que cada evento clave tiene que ser enviado de vuelta al Servicio (a través de otra interfaz AIDL) y convertido manualmente en Unicode.

Además, si la actividad actual contiene un EditText, el teclado virtual sólo funciona para la actividad y no aparece más cuando se selecciona EditText del servicio.

¿Qué impide que se muestre el teclado del servicio si la actividad actual tiene un EditText? ¿Podría ser una limitación de Android?

Estoy enfrentando un problema similar. Pero en mi caso, el problema se debe al uso de WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE flag mientras se crea WindowManager.LayoutParams para ver.

Y para la visibilidad del teclado

 InputMethodManager inputManager = (InputMethodManager) context. getSystemService(Context.INPUT_METHOD_SERVICE); if (inputManager != null) { inputManager.toggleSoftInput(0, InputMethodManager.SHOW_IMPLICIT); } 

Si desea mostrar Soft Teclado en el tacto de edittext, ¿Por qué no considera utilizar onTouchListener con ese edittext. Creo que edittext.requestfocus () también lo hará. Si no, el oyente trabajaría definitivamente.

Por otra parte, para el tipo de vista que menciona, habría sido mejor utilizar fragmentos en lugar de servicio para crear vista.

  • ¿Cómo puedo enfocar una vista de acción plegable Editar elemento de texto en la barra de acción (cuando se expande) y forzar el teclado virtual a abrir?
  • Ocultar el teclado EditText cuando android: windowTranslucentStatus = true
  • Android: Visualización de WhiteSpace al cerrar Soft Keyboard
  • SoftKeyboard abrir y cerrar escucha en una actividad en Android?
  • Implementaciones de Emoji (Vista Emoticon) / Layouts de Teclado
  • ¿Cómo puedo eliminar el teclado de muestra de Android?
  • Activar / desactivar el sonido y la vibración del teclado programáticamente
  • Utilice la tecla "ENTER" en el teclado en lugar de hacer clic en el botón
  • Android ViewPager muestra el teclado virtual en el lugar equivocado
  • Webview no cambia el tamaño cuando aparece el teclado
  • ¿La interfaz de usuario se bloquea cuando se muestra el software mientras se reproduce el reproductor de medios?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.