Android SDK提供了Android sensor framework,可以用来访问当前Android设备内置的传感器。
ASF提供了很多类和接口,可以帮助我们完成各种与传感器有关的任务。
例如,可以利用ASF完成下面的工作。
确定当前Android设备内置了哪些传感器。
确定某一个传感器的技术指标。例如,该传感器能测量的最大范围、传感器的制造商、对电量的要求、测量的精度等。
获取传感器传回来的数据,以及定义传感器回传数据的精度。
注册和注销传感器事件监听器,这些监听器用于监听传感器的变化,通常从传感器回传的数据需要利用这些监听器完成。
SensorManager类:
用于创建sensor service的实例。该类提供了很多用于访问和枚举传感器,注册和注销传感器监听器的方法。而且还提供了与传感器精度、扫描频率、校正有关的常量。
Sensor类:
提供了一些用于获取传感器技术参数的方法。如版本、类型、生产商等。
SensorEvent类:
系统使用该类创建传感器事件对象。该对象可以提供与传感器事件有关的信息。传感器事件对象包括的信息有原始的传感器回传数据、传感器类型、数据的精度以及触发事件的时间。
SensorEventListener接口:
该接口包含两个回调方法,当传感器的回传值或精度发生变化时,系统会调用这两个回调方法。
列出当前设备支持的传感器代码
private SensorManager sensorManager;
1 sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); 2 List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL); 3 for(Sensor sensor: sensors) 4 { 5 tvSensors.append(sensor.getName() + "\n"); 6 }