¿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.
- ¿Quieres eliminar palabras de UserDictionary?
- ¿Por qué no android: windowSoftInputMode = "stateVisible | adjustResize" ajustar la pantalla cuando se muestra el teclado virtual?
- Cómo configurar diferentes fondos de claves para Android Custom Keyboard
- Cómo abrir un teclado numérico en android / chrome con <input type = "text">?
- Android SoftKeyboard cómo crear sugerencias propias
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?
- Android - ajustar scrollview cuando el teclado está para Android 5.0 (piruleta)
- Android IME, establece la posición del cursor en EditText
- Cómo evitar que el teclado suave de Android redimensione mi actividad
- Teclado cubre la pantalla en lugar de empujar hasta el diseño?
- El teclado suave androide arruina el diseño cuando aparece
- KeyboardView no se puede instanciar
- SoftKeyboard no se muestra para un Fragmento recién mostrado
- AdjustPan no impide que el teclado cubra EditText
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 hacer una solicitud múltiple y esperar hasta que los datos provengan de todas las solicitudes en retrofit 2.0 – android
- ¿Cómo construir una prueba de lanzamiento apk para Android con Gradle?