您的位置:首页 > 其它

传感器

2015-12-23 23:43 267 查看

光照传感器

SensorManager manager=(SensorManager)getSystemSeervice(Context.SENSOR_SERVICE);
Sensor sensor=manager.getDefaultSenser(Sensor.TYPE_LIGHT);
//TYPE_LIGHT  常量来指定传感器类型

//对传感器输出的信号进行监听,就要借助SensorEventListener来实现
SensorEventListener listener=new SensorEventListener(){
public void onAccuracyChanged(Sensor sensor,int accuracy){
//当传感器的精度发生改变时就会调用
}
public void onSensorChanged(SensorEvent event){
//当传感器监测到的数值发生变化时就会调用    此处传入一个SensorEvent参数,这个参数里又包含了一个values数组,所有传感器输出的信息都是存放在这里的
}
}
//调用SensorManager的registerListener()方法来注册SensorEventListener才能使其生效
manager.registerListener(listener,sensor,SensorManager.SENSOR_DELAY_NORMAL);//第三个参数是用于表示传感器输出信息的更新速率,共有SENSOR_DELAY_UI、SENSOR_DELAY_BORMAL、SENSOR_DELAY_GAME、SENSOR_DELAY_FASTEST这四种值可选,它们的更新速率是依次递增的。

//当程序退出时,记得一定要调用unregisterListener()方法将使用的资源释放掉
manager.unregisterListener(listener);


加速度传感器

方向加速度,要注意地心引力的影响

SensorManager manager=(SensorManager)getSystemServive(Context.SENSOR_SERVICE);
Sensor sensor =manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

SensorEventListener listener=new SensorEventListener(){
public void onSensorChanged(SensorEvent event){
}
public void onAccuracyChanged(Sensor sensor,int accuracy){
}
};
manager.registerListener(listener);

//执行完之后,必须要调用unregisterListener();
manager.unregisterListener(listener);


方向传感器 旋转角度

Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
// Android早就废弃了Sensor.TYPE_ORIENTATION这种类型的传感器类型,虽然代码还是有效的,但已经不再推荐这么写了。事实上,Android获取手机旋转的方向和角度是通过加速度传感器和地磁传感器共同计算得出的,这是Android目前推荐使用的方式。
Sensor accelerometerSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

Sensor magneticSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);

sensorManager.registerListener(listener, accelerometerSensor,SensorManager.SENSOR_DELAY_GAME);

sensorManager.registerListener(listener, magneticSensor,SensorManager.SENSOR_DELAY_GAME);

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