Android Sensor
1. Sensor type
use getSensorList(int) to get the list of available Sensors, return List<Sensor>
Sensor类一般不需要new而是通过SensorManager的方法获得
int TYPE_ACCELEROMETER // 三轴加速度感应器,返回三个坐标轴的加速度,单位m/s2
int TYPE_ALL // 列出所有感应器
int TYPE_GRAVITY // 重力感应器
int TYPE_GYROSCOPE // 陀螺仪,可判断方向,返回三个坐标轴上的角度
int TYPE_LIGHT // 光线感应器,单位 勒克斯(lux)
int TYPE_LINEAR_ACCELERATION // 线性加速度
int TYPE_MAGNETIC_FIELD // 磁场感应,返回三个坐标轴的数值,微特斯拉
int TYPE_ORIENTATION // 方向感应器,已过时 use SensorManager.getOrientation() instead
int TYPE_PRESSURE // 压力感应器,单位千帕斯卡
int TYPE_PROXIMITY // 距离感应器
int TYPE_ROTATION_VECTOR // 翻转感应器
int TYPE_TEMPERATURE // 温度感应器,单位摄氏度
2. use Sensor
a. 获取系统服务(SENSOR_SERVICE)返回一个SensorManager对象
sensorManager = (SensorManger) getSystemService(SENSOR_SERVICE);
b. 通过SensorManager对象获取相应的Sensor类型的对象
sensorObject = sensorManager.getDefaultSensor(sensor Type);
c. 声明一个SensorEventListener对象用于获取侦听Sensor事件,并重载onSensorChanged方法
SensorEventListener sensorListener = new SensorEventListener(){ }
d. 注册相应的SensorService
sensorManager.registerListener(sensorListener, sensorObject, Sensor type);
e. 销毁相应的SensorService
sensorManager.unregisterListener(sensorListener, sensorObject);
f. SensorListener接口是传感器应用程序的中心,它包括两个必需的方法
onSensorChanged(int sensor, float values[]) // 在传感器值更改时调用
onAccuracyChanged(int sensor, int accuracy) // 当传感器的准确性更改时调用
Reference: http://blog.csdn.net/henry000/article/details/5980867