2011-07-11 15 views

Respuesta

16

Sí, puedes.

buscar el objeto Configuration usando

Configuration config = getResources().getConfiguration(); 

... y luego buscar en el campo keyboard.

Si el valor de keyboard no es KEYBOARD_NOKEYS, el usuario tiene un teclado de hardware.

Tenga en cuenta que como @Carl dice en su comentario a continuación, el usuario puede conectar un teclado USB en cualquier momento mientras su aplicación se está ejecutando, haciendo que el valor de keyboard cambie.

+0

Gracias justo lo que estaba buscando. – Bryan

+1

Si bien es cierto que el usuario TIENE un teclado de hardware si config.keyboard NO ES KEYBOARD_NOKEYS, se debe tener en cuenta que un dispositivo puede informar KEYBOARD_NOKEYS, pero luego tiene un teclado USB externo conectado e informar KEYBOARD_QWERTY, todo mientras su aplicación Esta corriendo. Al menos, tengo un GTablet ejecutando CyanogenMod 7.0.3-Harmony/Android 2.3.3 que hace exactamente eso. Y también, es posible que el valor del teclado, cuando no sea KEYBOARD_NOKEYS, sea KEYBOARD_12KEY, en lugar de KEYBOARD_QWERTY, por lo que si el tipo de teclado es importante para usted, es posible que desee probar específicamente estos. – Carl

+0

@Carl - actualizado para incluir el punto re: teclados que se adjuntan a mediados de la ejecución de la aplicación. Gracias. – razlebe

Cuestiones relacionadas