Android中传感器Senso的使用

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);        }    }

更多相关文章

  1. android studio中光线传感器解析
  2. 【转】Android(安卓)技术-- 图形系统详解
  3. Android事件处理
  4. 两分钟彻底让你明白Android中onInterceptTouchEvent与onTouchEve
  5. android 回车键事件编程
  6. android 回车键事件编程
  7. android的binder机制研究二
  8. Android(安卓)进程间通信:AIDL
  9. android 触摸事件、点击事件的区别

随机推荐

  1. [android] 架构原理
  2. Android艺术开发探索第四章——View的工
  3. (一)阅读器客户端开发实战_引言
  4. Android(安卓)之 系统广播机制BroadcastR
  5. Android 中下载文件到sdcard和进度条小结
  6. android 资源管理相关分析(基于android-24
  7. Android中创建自己的ContentProvider
  8. Android高手进阶教程(二十)---Android中
  9. android之存储篇——SQLite数据库
  10. Android的内存机制和常见泄漏情形