private Sensor lightSensor;//光线传感器
private static SensorManager mSensorManager;//传感器管理
private MySensorEventListener sensorEventListener;
/**
* 注册光线传感器
* */
private void registerLight() {
try {
sensorEventListener = new MySensorEventListener();
mSensorManager = (SensorManager) getApplicationContext().getSystemService(Context.SENSOR_SERVICE);
lightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);//光感
mSensorManager.registerListener(sensorEventListener, lightSensor, SensorManager.SENSOR_DELAY_NORMAL);//四种传感器模式自行了解
} catch (Exception e) {
}
}
/**
* 传感器监听
* */
private class MySensorEventListener implements SensorEventListener {
@Override
public void onSensorChanged(SensorEvent event) {
switch (event.sensor.getType()) {
case Sensor.TYPE_LIGHT://光感
float value = event.values[0];//自行判断光感值的上下限值
try {
if (value < 10) {//光感下限值(测试值)
openIR(true); //红外开关方法
chooseColorEffect(false);// 控制相机黑白模式
}
if (value > 80) {//光感上限值(测试值)
openIR(false);//红外开关方法
chooseColorEffect(true);// 控制相机黑白模式
}
} catch (Exception e) {
return;
}
break;
default:
break;
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
/**
* 红外开关方法
* */
public static void openIR(boolean flag) {
//不同机型红外开关方法不同
}
/**
* 注销光线传感器
* */
private void unregisterLight() {
try {
mSensorManager.unregisterListener(sensorEventListener);
} catch (Exception e) {
e.getMessage();
}
}
android 光线传感器的使用
最新推荐文章于 2021-12-19 20:50:40 发布