您的位置:首页 > 移动开发 > Android开发

Android 红外感应设备的那点累积,感应设备相关知识存储

2017-04-25 17:44 232 查看
红外测距传感器具有一对红外信号发射与接收二极管, 利用的红外测距传感器LDM301发射出一束红外光,在照射到物体后形成一个反射的过程,反射到传感器后接收信号,然后利用CCD图像处理接收发射与接收的时间差的数据。经信号处理器处理后计算出物体的距离。这不仅可以使用于自然表面,也可用于加反射板。测量距离远,很高的频率响应,适合于恶劣的工业环境中。

2015-05-22

目前用到的感应器 有重力感应,近距离感应,相关参数如下

SENSOR_TYPE_PROXIMITY
SENSOR_TYPE_GRAVITY


感应器的使用方法

SensorManager mSensorManager  =(SensorManager)getSystemService(Context.SENSOR_SERVICE);


2.为SensorManager对象添加监听事件,通过SensorManage的registerListener方法可以为我们的传感器添加监听事件,该方法有多种重载形式,一般我们必须要提供一个listener对象并实现SensorEventListener接口,然后是传感器的类型(int类型值),或一个传感器Sensor对象(通过getDefaultSensor可以得到一个sensor对象)。

在SensorEventListener接口中有两个重要的方法,

1)public void onAccuracyChanged(Sensor sensor, int degree),当传感器的精准度发生改变时被调用,degree为新的传感器精度。

2)public void onSensorChanged(SensorEvent event),传感器信息改变时执行该方法,其中event对象中的values成员中包含了我们所需要的传感器的重要信息,这是一个float数组值,一般根据传感器类型不同,该值也会不同,下面我会来介绍一下一些常用的传感器类型的values值得含义。一般我们在该方法中根据所获得的传感器信息来处理自己的事情。

3.当我们不需要监听传感器时,通过一个unregisterListener方法来销毁注册。

private SensorEventListener sensorListener = new SensorEventListener() {

@Override
public void onAccuracyChanged(Sensor sensor, int degree) {
// TODO Auto-generated method stub
// 当传感器的精准度发生改变时被调用,int为新的传感器精度
}

@Override
public void onSensorChanged(SensorEvent event) {

}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: