Android传感器的使用
2016-09-19 18:02
260 查看
传感器的使用
获取传感器sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); //加速计传感器 accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); //磁力传感器 magnetic = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); //陀螺仪 gyroscope = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
其他传感器:
Sensor.TYPE_PRESSURE 压力传感器
Sensor.TYPE_LIGHT 光线传感器
Sensor.TYPE_PROXIMITY 距离传感器
……
设置监听器获取数据
//注册监听器及传感器的刷新速率`SensorManager.SENSOR_DELAY_NORMAL` sensorManager.registerListener(accelerometerListener,accelerometer, SensorManager.SENSOR_DELAY_NORMAL); //创建监听器 private SensorEventListener accelerometerListener=new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){ //当加速度改变时获取数据 accelerometerValues=event.values.clone(); } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { //TODO: 由于环境等因素使传感器精度改变时执行的内容 } };
传感器的刷新速率
SensorManager.SENSOR_DELAY_FASTEST 最大更新速率
SensorManager.SENSOR_DELAY_GAME 适用于游戏
SensorManager.SENSOR_DELAY_UI 适用于界面互交
SensorManager.SENSOR_DELAY_NORMAL 适用于改变屏幕方向
解除注册
@Override protected void onPause() { //在onResume中注册,onPause中解除注册 super.onPause(); sensorManager.unregisterListener(accelerometerListener); }
相关文章推荐
- 安卓版本更新的逻辑
- 大牛们是怎么阅读 Android 系统源码的?
- Android:JS调用安卓方法介绍
- Android动画深入分析
- Android第一行代码学习笔记四----数据存储
- Android 游戏开发之 数独游戏
- android 一个 textview 设置不同的字体大小和颜色
- Android的消息机制
- Android的线程和线程池
- Android动态改变button顶部图片即drawableTop属性
- Android中的Drawable
- android:ToolBar的使用
- Android 中TextView部分文字颜色、点击跳转设置
- android 可拖动控件 ontouchevent
- Android 控件之ListView 的简单使用
- Android.mk详解
- Android弹出式对话框AlertDialog中的EditText自动打开软键盘
- android调用原生剪裁界面裁剪图片
- android lambda语法简述
- ActivityManager的简单使用