//在activity或service等创建时定义注册监听器
private SensorManager mSensorMgr;
private Sensor mGnPSensor;
//获取传感器管理类及距离传感器
mSensorMgr = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
mGnPSensor = mSensorMgr.getDefaultSensor(Sensor.TYPE_PROXIMITY);
//在传感器管理类中注册距离传感器的监听器
mSensorMgr.registerListener(mGnPSensorEventListener, mGnPSensor, 12000);
//定义监听器
private final SensorEventListener mGnPSensorEventListener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_PROXIMITY) {
swithcGnPSensorTag(event);
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
private void swithcGnPSensorTag(SensorEvent event) {
//event.values[0]为0,表示靠近,否则是远离
if (event.values[0] != 0) {
mGnPSensorTag = true;
} else {
mGnPSensorTag = false;
}
}
//最后记得在activity或service等销毁时注销监听器
mSensorMgr.unregisterListener(mGnPSensorEventListener);
Android监听距离传感器
最新推荐文章于 2021-05-31 04:21:13 发布