传感器主要组成:SensorManager与SensorEventListener两部分,细分为:
动作(Motion)传感器:加速(accelerometer)传感器、重力(gravity)传感器、陀螺仪(gyroscope)传感器、旋转向量(rotational vector )传感器
环境(Environmental)传感器:湿度(barometer)传感器、光线(Sensor.TYPE_LIGHT
)传感器、温度(thermometer)传感器
位置(Position)传感器:方向(orientation)传感器、磁力(magnetometer)传感器
采样率:四种里面选择合适即可
最快: SensorManager.SENSOR_DELAY_FASTEST
游戏: SensorManager.SENSOR_DELAY_GAME
普通: SensorManager.SENSOR_DELAY_NORMAL
用户界面: SensorManager.SENSOR_DELAY_UI
SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); //获得传感器服务
Sensor accelerometerSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); //获取传感器对象
sensorManager.registerListener(sensorEventListener, accelerometerSensor, SensorManager.SENSOR_DELAY_NORMAL); //注册监听,参数1:监听对象;参数2:传感器对象;参数3:采样率
sensorManager.unregisterListener(sensorEventListener)//取消监听
public void **onAccuracyChanged**(Sensor sensor, int accuracy) { //重写的两个方法
}
public void onSensorChanged(SensorEvent event) {
float [] values= event.values;//获取传感器对应的数值
}
//通过传感器对象调用,可以获取相应的传感器参数
getMaximumRange() 最大取值范围
getName() 设备名称
getPower() 功率
getResolution() 精度
getType() 传感器类型
getVentor() 设备供应商
getVersion() 设备版本号