1:什么是传感器:
比如:微信的摇一摇,指南针,这些都是传感器的使用。
2:光照传感器:
例如:调节手机亮度,
用法: 步骤一: 获取 SensorManager 实例
SensorManager senserManager = (SensorManager ) getSystemService(Context.SENSOR_SERVICE);
步骤二: Sensor sensor = senserManager.getDefaultSensor(Sensor.TYPE_LIGHT);
步骤三: 借助SensorEventListener 来实现信号监听。
SenserEventListener lisrener = new SenserEventListener (){
重写onAcuracyChanged 方法:(传感器精度变化时,调用的方法)
重写 onSensorChanged 方法:(传感器的数值变化,调用的方法)
步骤四: 调用:SenserManager 的registerListener()注册SensorEventListener ,
三个参数:
参数一: SensorEventListener 的实例。
参数二: Sensor 的实例。
参数三: 传感器输出信息的更新速率。
senserManager.registerListener(listener,sener,SensorManager.SENSOR_DELAY_NORMAL);
步骤五: 注销: sensorManager.unregisterListener(listener);
3: 加速度传感器:
用法: (和之前的光速传感器差不多)
不同之处:
一:Sensor sensor = sensorManager。getDefaultSensor(Sensor。TYPR_ACCELEROMETER); 获取实例
二:同样放在SensorEvent 的values数组中,三个值。
4:方向传感器:
用法:
获取实例: Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
获取加速度传感器和地磁传感器的实例:
Sensor accelerometerSensor = sensorManager。getDefaultSensor(Sensor.TYPR_ACCELEROMETER);
Sensor magneticSensor = sensorManager。getDefaultSensor(Sensor.TYPR_MAGNETIC_FIELD);
注册监听器:
sensorManager.registerListener (listener,accelerometerSensor,SensorManager.SENSOR_DELAY_GAME) ;
sensorManager.registerListener (listener,magneticSensor ,SensorManager.SENSOR_DELAY_GAME) ;
SensorManager.getRotationMatrix(R,null,accelerometerValues,magneticValues);
最后: SensorManager.getOrientation(R,values);
转换角度: Math.toDegrees(values[0]);