android手机通常会支持多重类型的传感器,如光照传感器, 加速度传感器,地磁传感器,压力传感器,温度传感器等等。
一、光照传感器
应用:检测手机周围的环境改变手机的亮度
SensorManager manager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
Sensor sensor = senserManager.getDefaultSensor(Sensor.TYPE_LIGHT);
SensorManager使系统所有传感器的管理器,有了它的实例之后就可以调用getDefaultSensor()方法来得到任意的传感器类型。
这里使用Sensor.TYPE_LIGHT常量来指定传感器类型,sensor代表一个光照传感器
SensorEventListener listener = new SensorEventListener(){
//传感器精度发生变化
@override
public void onAccuracyChanged(Sensor sensor , int accuracy){
}
<span style="white-space:pre"> </span>//传感器数值发生变化,event里面包含传感器输出信息的数组
@override
public void onSensorChanged(SensorEvent event){
}
}
我们需要对传感器输出的信号进行监听,利用sensorEventListener类来完成任务,
manager.registerListener(listener, sensor , SensorManager.SENSOR_DELAY_NOMAL);
manager.unregisterListener(listener);
对监听器进行注册,接受三个参数,监听器,传感器,和信息的更新速率,共有SENSOR_DELAY_UI, SENSOR_DELAY_NORMAL, SENSOR_DELAY_GAME, SENSOR_DELAY_FASTEST这四种值可选,速率一次递增
使用完后必须对监听器进行反注册,释放资源。