Android平台下传感器应用的开发
传感器应用的开发流程
1、创建 SensorManager对象
通过SensorManager可以访问到手持设备的传感器,同事Sensormanager对象还提供了一些方法用于对捕获的数据进行计算等处理。在程序中,通过条用Context.getSystemService方法传入参数SENSOR_SERVICE来获得SensorManager对象。
2、实现SensorListener接口
(1)void OnAccuracyChanged(int sensor, int accuracy);该方法在传感器的精确度发生变化时调用,SensorManager提供了3中精确度,由高到底分别为
SENSOR_STATUS_ACCURACY_HIGH、
SENSOR_STATUS_ACCURACY_MEDIUM和
SENSOR_STATUS_ACCURACY_LOW。参数accuracy为新的精确度。
(2)void onSensorChanged(int sensor, float[] value); 该方法在传感器的数据发生变化时调用,开发传感器应用的主要业务代码应该放在这里执行,如读取数据并根据数据的变化进行相应的操作等。方法传入的参数sensor为代表传感器类型的常量,values为float类型数组,其长度和内容因传感器类型的不同而变化。
3、注册SensorListener 调用步骤1中获得的SensorManager对象的registerListener方法来注册监听器,其接收的参数为监听器对象、传感器类型以
及传感器事件传递的频度。
4、取消注册SensorManager时调用SensorManager的unregisterListener方法,一般来讲注册和取消注册方法应该成对出现,如果在Activity的onResume方法中注册SensorListener监听就应在onPause方法中取消注册。