Cómo habilitar el hardware y los teclados virtuales en el sándwich de helado de Android

Estoy desarrollando una aplicación de gestión de stock con Django para la empresa de un cliente, y quiero utilizar una tableta de helado de sándwich como dispositivo de usuario final. Yo uso un lector de código de barras USB que funciona bien.

Mi problema es que una vez que el lector de código de barras está conectado, es reconocido como un teclado real, y ya no puedo acceder al teclado virtual. Este es un gran problema para mí, porque sólo uso el lector de código de barras para codificar códigos EAN13, y necesito el teclado …

¿Hay alguna forma de habilitar tanto los teclados virtuales como los reales? Realmente necesito ayuda en esto ….

Gracias !

Bueno, encontré una solución a mi problema! (No sé qué decir de la generosidad ahora …)

Cuando ingresa un área de texto (por ejemplo: en el navegador), sólo tiene que tocar el icono del teclado a la izquierda del reloj. Al lado de "Use physical keyboard", tiene que elegir "No".

Me pareció que incluso así, el lector de código de barras seguirá siendo activa (yessss!) Y el teclado suave se abrirá también!

Sí, el escáner de código de barras se detecta como un teclado físico. Cuando un teclado está conectado al dispositivo, de forma predeterminada el teclado virtual está deshabilitado. Para habilitarlo, necesitamos desactivar el teclado del hardware a través de:

Ajustes> Idioma e entrada> Seleccionar método de entrada

El nombre de la opción puede diferir de un dispositivo a otro. Podremos utilizar el escáner junto con el teclado suave aunque lo apaguemos.

Y NO, actualmente no hay forma de lograr esto mediante programación. Lo más que podemos hacer es detectar cuando se conecta un escáner / teclado y redirigir al usuario a la ventana de selección del Método de Entrada, reemplazando el método onConfigurationChanged así:

 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if(newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) { ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)) .showInputMethodPicker(); Toast.makeText(this, "Barcode Scanner detected. Please turn OFF Hardware/Physical keyboard to enable softkeyboard to function.", Toast.LENGTH_LONG).show(); } } 

Usted podría utilizar InputMethodManager para forzar el teclado del software abierto:

 InputMethodManager imm = (InputMethodManager)getContext().getSystemService( Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); 

Intente esto para forzar a abrir el teclado virtual:

 ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); 

Para cerrar el teclado virtual:

 ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(_pay_box_helper.getWindowToken(), 0); 

No funciona con el teclado de stock como el icono no se muestra. Necesita otra aplicación de teclado instalada o una aplicación de cambio de teclado (aunque no instale ningún otro teclado, sólo mostrará el icono)

No soy un programador, pero tengo los mismos problemas que todos aquí han publicado. Después de buscar mucho en línea, encontré un teclado a través de Google Play Store que parece funcionar muy bien para nosotros (BT Scanner y desea SoftKeyboard al mismo tiempo). Se llama Hacker's Keyboard de Klaus Weidner.

Simplemente utilice el teclado de Hackers, vaya a Configuración -> desplácese hasta "Idioma e Ingreso" -> Teclado Hacker -> vaya a -> Configuraciones -> Desplácese hasta "INPUT MODE SETTINGS" -> Mostrar Teclado Suave Siempre "está marcada. El Softkeyboard se mantendrá activo incluso si el escáner está conectado a través de bluetooth. Funciona también al desconectar y volver a conectar el escáner Bluetooth.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.