如何获取传感器数据,如何监听传感器数据变化呢?
先贴一段小程序:
//获取传感器管理器
SensorManager sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
//获取环境光线传感器
Sensor lightSensor = sm.getDefaultSensor(Sensor.TYPE_LIGHT);
SensorEventListener lightListener = new SensorEventListener() {
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
TV.append("当前环境照度为" + event.values[0] + "勒克斯\n");
}
};
/在传感器管理器中注册监听器
sm.registerListener(lightListener, lightSensor, SensorManager.SENSOR_DELAY_NORMAL);
这段程序的作用是,当外界环境亮度(照度)变化时,实时地显示亮度值。
可见,传感器数据是通过SensorEvent来获取的,有关SensorEvent及各种类型传感器数据的说明,参见
http://developer.android.com/reference/android/hardware/SensorEvent.html
最后要注意的是,要在传感器管理器中注册监听器!