获取到的传感器名称:
Accelerometer 加速计
Magnetometer 磁力计
Gyroscope 陀螺仪
Proximity Sensor 近距离传感器
Ambient Light Sensor 环境光传感器
Barometer Sensor 气压计
Temperature Sensor 温度传感器
Gravity 重力
Linear Acceleration 线性加速度
Rotation Vector 旋转矢量
Step Detector 步数探测器
Step Counter 计步器
Significant Motion Detector 运动检测器
Game Rotation Vector 游戏旋转矢量
Geomagnetic Rotation Vector 地磁旋转矢量
Orientation 方向
Basic Gestures 基本手势
Motion Accel 运动加速度
public void getSensors() {
List<Sensor> sensorList;
//getSystemService获取系统服务
systemService = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
//TYPE_ACCELEROMETER 获取那种传感器在此修改类型
sensorList = systemService.getSensorList(Sensor.TYPE_ACCELEROMETER);
for (Sensor s : sensorList) {
//遍历手机所有的传感器
Log.e(TAG, "getSensors: " + s.getName());
}
//getDefaultSensor获取默认传感器 //TYPE_LIGHT_型灯 光度传感器的一种
sensor = systemService.getDefaultSensor(Sensor.TYPE_LIGHT);
//SENSOR_DELAY_NORMAL 传感器延迟正常
systemService.registerListener(sensorEventListener, sensor, SENSOR_DELAY_NORMAL);
//传感器事件侦听器
sensorEventListener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
float[] values = event.values;
Log.e("aaa", "当前这个准确值: " + values[0]);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
Log.e("ooo", "当前这个准确值: " + accuracy);
}
};
}
@Override
protected void onDestroy() {
//销毁程序传感器 避免传感器一致运行 消耗手机大量的电量
systemService.unregisterListener(sensorEventListener,sensor);
Log.e(TAG, "onDestroy: 销毁传感器" );
super.onDestroy();
}