传感器的使用方法
来源:互联网 发布:linux 搜索字符串 编辑:程序博客网 时间:2024/06/17 04:43
1.Sensor类型
Android中有多种传感器,目前Android SDK支持的传感器有:光线传感器,旋转向量传感器,压力传感器,陀螺仪传感器,加速度传感器,重力传感器,方向传感器,磁场传感器,近程传感器等。但并不是所有手机都具有全部传感器,一般高端手机具有大多数传感器,毕竟传感器都需要money的,价格自然不菲。
2.Sensor实际应用
那么在Android开发中,如何使用传感器,将传感器功能添加到Android应用中呢,例如微信的摇一摇,通过加速传感器,触发寻找附近的人;例如每次接听电话时,当手机靠近耳朵时,手机会黑屏,这就是光线传感器起作用。
3.Sensor使用步骤
- 获取传感器管理对象SensorManager
- 创建传感器事件接听器的类,该类必须实现android.hardware.SensorEventListner接口
- 使用SensorManager.registerListener方法注册指定的传感器
4.传感器事件接口
SensorEventListner接口,该接口的onSensorChanged()和onAccuracyChanged()方法用于处理相应的传感器事件
1 public interface SensorEventListener {2 3 //传感数据变化调用4 public void onSensorChanged(SensorEvent event);5 //传感器精准度变化时调用6 public void onAccuracyChanged(Sensor sensor, int accuracy); 7 }
5.简单代码实现
定义SensorManager
1 SensorManager sensorManager=(SensorManager) getSystemService(SENSOR_SERVICE);
定义一个匿名内部类或者定义一个类实现SensorEventListner接口
1 private SensorEventListener sensorEventListener=new SensorEventListener() { 2 3 @Override 4 public void onSensorChanged(SensorEvent event) { 5 6 float[] values=event.values; 7 float x = values[0]; 8 float y = values[1]; 9 float z = values[2]; 10 }11 @Override12 public void onAccuracyChanged(Sensor sensor, int accuracy) {13 14 }15 };
注册和关闭传感器监听事件
@Override protected void onResume() { super.onResume(); if(sensorManager!=null){ sensorManager.registerListener(sensorEventListener, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); } } @Override protected void onPause() { super.onPause(); if(sensorManager!=null){ sensorManager.unregisterListener(sensorEventListener); } }
0 0
- 传感器的使用方法
- 加速度、陀螺仪、电源、距离传感器的使用方法
- 称重传感器的参数及使用方法
- 动作传感器的组成及使用方法
- 位置传感器的组成及使用方法
- 环境传感器的组成及使用方法
- Android传感器及使用方法
- android 获取手机中所有的传感器Sensor类使用方法
- android中11种常见传感器的使用方法
- android中11种常见传感器的使用方法
- android中11种常见传感器的使用方法
- 传感器的使用:光线传感器
- 传感器的使用:加速度传感器
- 传感器的使用:方向传感器
- Android传感器的使用(方向传感器,重力传感器)
- android 加速的传感器(重力传感器)
- 陀螺仪传感器与方向传感器的区别
- 传感器的选用
- jquery的事件
- 欢迎使用CSDN-markdown编辑器
- spring 各个注解的作用
- 5.18设计一个基类,再派生出两个子类
- Struts2笔记
- 传感器的使用方法
- 【swift】15-0521 控制流---for,while,do-while
- ASP.NET:使用Newtonsoft.Json序列化和反序列化JSON对象的例子
- PCA算法实现
- poj2115(扩展欧几里得)
- Android 中的 Service 全面总结
- http的post方式连接服务器,发送数据到服务端,并获取服务端的数据
- 权限管理模块 SupesoftFrameWork 数据库文档
- 起点