Índice

Detectar un sensor

No todos los sensores soportados por la plataforma Android están necesariamente integrados en los dispositivos Android. Es preciso, por tanto, antes de utilizar un sensor, asegurarse de que está presente en el dispositivo donde se ejecuta la aplicación.

Existen dos estrategias diferentes para gestionar la disponibilidad de un sensor: 

  • Si el sensor es indispensable para el correcto funcionamiento de la aplicación, es preferible indicar en Google Play Store que la aplicación debe instalarse únicamente en aquellos dispositivos que dispongan de dicho sensor.

  • Si el sensor es un extra, no esencial, es preciso detectar en tiempo de ejecución de la aplicación la disponibilidad de este.

El primer caso está resuelto, como con las demás restricciones de hardware, directamente en el archivo de manifiesto de la aplicación, utilizando la opción <uses-feature> (consulte el capítulo Publicar una aplicación, sección Preliminares - Filtros para el mercado, para una descripción completa).

Sintaxis

<uses-feature android:name="nombre_del_sensor" android:required="true" />

Ejemplo

<uses-feature android:name="android.hardware.sensor.light" 
android:required="true"/>

En el segundo caso, la clase SensorManager permite verificar la presencia de un sensor en función de su tipo, bien enumerando los sensores disponibles en el dispositivo o bien instanciando un sensor de un tipo concreto y verificando ...