安卓设备上有很多传感器如何调用它们呢?
1 . 首先是先获得SensorManager对象;
SensorManager manager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);
2 .利用SensorManager对象获得Sensor对象(获得的是光照传感器)
Sensor s=manager.getDefaultSensor(Sensor.TYPE_LIGHT);
3 .对传感器输出的数值进行监听,SensorEventListener是一个接口,要重写它的两个抽象方法, onSensorChanged()(当传感器的数值发生变化时此方法会被调用)和 onAccuracyChanged()(当传感器的精度发生变化时此方法会被调用)代码如下:
SensorEventListener listener=new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
};
}
4 .还要调用SensorManager的registerListener()方法注册,使SensorEventListener起作用,此方法需要三个参数,依次是sensorEventListener的实例,Sensor的实例,传感器更新的速率(有四个常量):
manager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL);
5 .程序退出或者传感器不用的时候记得释放资源:
manager.unregisterListener(listener);
通过以上步骤基本就完成了传感器的用法。