Android所有的传感器都归传感器管理器 SensorManager 管理,获取传感器管理器的方法很简单:
SensorManager sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
传感器类型常量 | 内部整数值 | 中文名称 |
Sensor.TYPE_ACCELEROMETER | 1 | 加速度传感器 |
Sensor.TYPE_MAGNETIC_FIELD | 2 | 磁力传感器 |
Sensor.TYPE_ORIENTATION | 3 | 方向传感器 |
Sensor.TYPE_GYROSCOPE | 4 | 陀螺仪传感器 |
Sensor.TYPE_LIGHT | 5 | 环境光照传感器 |
Sensor.TYPE_PRESSURE | 6 | 压力传感器 |
Sensor.TYPE_TEMPERATURE | 7 | 温度传感器 |
Sensor.TYPE_PROXIMITY | 8 | 距离传感器 |
从传感器管理器中获取其中某个或者某些传感器的方法有如下三种:
第一种:获取某种传感器的默认传感器
Sensor defaultGyroscope = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
第二种:获取某种传感器的列表
List<Sensor> pressureSensors = sensorManager.getSensorList(Sensor.TYPE_PRESSURE);
第三种:获取所有传感器的列表
List<Sensor> allSensors = sensorManager.getSensorList(Sensor.TYPE_ALL);
对于某一个传感器,它的一些具体信息的获取方法可以见下表:
方法 | 描述 |
getMaximumRange() | 最大取值范围 |
getName() | 设备名称 |
getPower() | 功率 |
getResolution() | 精度 |
getType() | 传感器类型 |
getVentor() | 设备供应商 |
getVersion() | 设备版本号 |