Android传感器Sensor

目录

1. 传感器基础步骤

(1) 获取传感器管理者 SensorManager

(2) 获取传感器Sensor

(3) 判断传感器是否为空,并注册监听

2. 传感器例子

(1) 光强传感器


1. 传感器基础步骤

(1) 获取传感器管理者 SensorManager

SensorManager sensorManager= (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);

(2) 获取传感器Sensor

//此处以光传感器为例
Sensor sensor=sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);

(3) 判断传感器是否为空,并注册监听

注册监听方法的三个参数为:传感器事件监听器,传感器对象,检测频率(SensorManager.SENSOR_DELAY_NORMAL为默认频率)

if(sensor!=null){
    //传感器不为空
    sensorManager.registerListener(new SensorEventListener() {
        public void onSensorChanged(SensorEvent sensorEvent) {
            // 数值变化
            
        }
        public void onAccuracyChanged(Sensor sensor, int i) {
            // 传感器精度发生变化时的回调方法
        }
    }, sensor, SensorManager.SENSOR_DELAY_NORMAL);
}

2. 传感器例子

(1) 光强传感器

//传感器管理者
SensorManager sensorManager= (SensorManager) view.getContext().getSystemService(Context.SENSOR_SERVICE);
//传感器
Sensor sensor=sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
if(sensor!=null){
    //传感器不为空
    sensorManager.registerListener(new SensorEventListener() {
        public void onSensorChanged(SensorEvent sensorEvent) {
            // 数值变化
            // 光强度发生变化时的处理逻辑
            float lightIntensity = sensorEvent.values[0];
        }
        public void onAccuracyChanged(Sensor sensor, int i) {
            // 传感器精度发生变化时的回调方法
        }
    }, sensor, SensorManager.SENSOR_DELAY_NORMAL);
}

你可能感兴趣的:(android,java)