¿Es posible tener activo tanto el teclado físico como el teclado virtual al mismo tiempo?
Mi aplicación necesita tener dos fuentes de entrada activas al mismo tiempo: Un escáner de código de barras y el teclado virtual. Cuando emparejo un escáner de diente azul, está siendo tratado como un teclado físico. Por lo tanto, cuando este dispositivo está conectado, el teclado no se muestra (el teclado está desactivado).
¿Es posible tener activo tanto el teclado físico como el teclado virtual al mismo tiempo? Si no, ¿cuál es el mejor enfoque para resolver el problema? ¿Tengo que implementar una vista personalizada que hunda eventos de prensa clave? ¿Hay alguna aplicación de teclado en el mercado que hace esto?
- Ocultar entrada suave cuando se desplaza la lista
- Diferencia entre InputMethodManager SHOW_FORCED y SHOW_IMPLICIT en Android
- ¿Es posible incluir un Fragmento en un diseño de método de entrada?
- Comportamiento de imeOpciones, ImeActionId e ImeActionLabel
- Android muestra teclado suave cuando el fragmento onResume
¿Cómo puedo, programáticamente, activar y desactivar el teclado físico? Este es el botón de conmutación 'Use Physical Keyboard' configuración (he encontrado la captura de pantalla de este ajuste aquí:
- Cómo deshabilitar "métodos de entrada" en SoftKeyBoard?
- Android: IME sin teclado
- Activar y controlar el cursor del ratón en android
- Android TV (Leanback Launcher) - El teclado del desarrollador android no funciona
- Añadir imagen personalizada como Emoji en android
- Idioma de la disposición del teclado de Android
- ¿Cómo puedo saber si el selector de métodos de entrada está abierto o cerrado?
- ¿Cómo determinar el IME actual en Android?
No es posible tener tanto el Teclado físico como el Teclado suave activos al mismo tiempo. Se aplica por la función onEvaluateInputViewShown
. Puede consultar la documentación aquí .
/** * Override this to control when the soft input area should be shown to * the user. The default implementation only shows the input view when * there is no hard keyboard or the keyboard is hidden. If you change what * this returns, you will need to call {@link #updateInputViewShown()} * yourself whenever the returned value may have changed to have it * re-evaluated and applied. */ public boolean onEvaluateInputViewShown() {
Así que a menos que esté implementando su propio IME en el que puede overide onEvaluateInputViewShown no es posible tener físicos y softkeyboard para estar activos al mismo tiempo.
En cuanto a su última pregunta no estoy seguro, pero creo que no hay forma de ocultar el hardkeyboard mediante programación. Aunque no tiene la solución que debe comprobar esta pregunta