传感器种类
光照传感器 Sensor.TYPE_LIGHT
加速度传感器 Sensor.TYPE_ACCELEROMETER
方向传感器 Sensor.TYPE_ORIENTATION
地磁传感器 Sensor.TYPE_MAGNETIC_FIELD
使用步骤
1.获取SensorManager
SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
2.实例化传感器
Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);//实例化光照传感器
3.编写传感器时间监听器SensorEventListener,并实现OnSensorChanged、onAccuracyChanged
OnSensorChanged当传感器的数值改变
onAccuracyChanged当传感器的精度改变
SensorEventListener listener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
float lx = event.values[0]; // 光照强度,单位勒克斯 lx
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
// TODO Auto-generated method stub
}
};
4.注册监听器
sensorManager.registerListener(listener, sensor,
SensorManager.SENSOR_DELAY_NORMAL);
更新速度有四个选择
SENSOR_DELAY_UI
SENSOR_DELAY_NORMAL
SENSOR_DELAY_GAME
SENSOR_DELAY_FASTEST
更新速率以此递增
5.当不使用时,必须解除传感器
sensorManager.unregisterListener(listener);
可放OnDestroy()中