传感器的使用

时间:2022-06-05 17:23:22

核心类:SensorManager、Sensor、SensorEventListener

1、获取传感器管理器

SensorManager senserManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);

2、获取传感器类型

Sensor sensor = senserManager.getDefaultSensor(Sensor.TYPE_LIGHT);

使用Sensor.TYPE_LIGHT指定传感器类型
此时Sernsor的实例就代表光照传感器

3、对传感器的信号进行监听

SensorEventListener listener = new SensorEventListener() {
@Override
//精度变化时调用
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
@Override
//检测到数值发生变化时调用
public void onSensorChanged(SensorEvent event) {
}
};

SensorEvent 包含了一个 values 数组,所有传感器输出的信息都存放在这里

4、传感器监听器的注册与解注册

使用SensorManager进行注册与解注册

//第一个是监听器、第二个是传感器实例、第三个是输出信息的速率
sensorManager.registerListener(listener,senser,SensorManager.SENSOR_DELAY_NORMAL);

sensorManager.unregisterListener(listener)