Android传感器
开发传感器应用
1. 获取传感器管理者对象
// 获取传感器管理者对象
SensorManager mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
2. 获取指定的传感器对象
// 获取指定的传感器 加速度传感器
Sensor sensor = mSensorManager.getDefaultSensor(int type);
这个type就是传感器的类型
- 加速度传感器
Sensor.TYPE_ACCELEROMETER
- 方向传感器
Sensor.TYPE_ORIENTATION
- 磁场传感器
Sensor.TYPE_MAGNETIC_FIELD
- 温度传感器
Sensor.TYPE_AMBIENT_TEMPERATURE
- 光传感器
Sensor.TYPE_LIGHT
- 压力传感器
Sensor.TYPE_PRESSURE
3. 给传感器添加监听
public boolean registerListener(SensorEventListener listener, Sensor sensor, int samplingPeriodUs);
- 第一个参数是传感器监听器
- 第二个参数是上面获取到的传感器对象
- 第三个参数是指定获取传感器数据的频率
samplingPeriodUs 采样频率支持以下几个频率值
SensorManager.SENSOR_DELAY_FASTEST
最快,延迟最小,比较消耗电量,由于传递的为原始数据,如果算法处理不好将会影响应用的性能
SensorManager.SENSOR_DELAY_GAME
适合游戏的频率,在一般实时性要求的应用上适合使用这种频率。
SensorManager.SENSOR_DELAY_NORMAL
正常的频率,实时性要求不是很高的时候适合这种频率。
SensorManager.SENSOR_DELAY_UI
适合普通用户界面的频率,这种模式比较省电,而且系统开销也很小,但是延迟较大,适合在普通的小程序中使用
说明
通过以上简单的三个步骤,就可以利用手机自带的传感器获取到相应的传感器数据,进行开发了(硬件必须支持),后续我会针对各个传感器单独写Demo,感兴趣的话可以关注一下。