- 调用Context的getSystemService(Context.SENSOR_SERVICE)方法获取SensorManager对象,SensorManager对象代表系统的传感器管理服务。
- 调用SensorManager的getDefaultSensor(int type)方法来获取指定类型的传感器。
- 一般在Activity的onResume()方法中调用SensorManager的registerListener()为指定传感器注册监听器即可。程序通过实现监听器即可获取传感器传回来的数据。
SensorManager提供注册传感器的方法为:registerListener(SensorEventListener listener,Sensor sensor,int rate),参数说明:
listener:监听器。实现SensorEventListener接口。
sensor:传感器对象(Sensor.TYPE_ACCELEROMETER,Sensor.TYPE_ORIENTATION,Sensor.TYPE_MAGNETIC_FIELD,Sensor.TYPE_TEMPERATURE,Sensor.TYPE_LIGHT,Sensor.TYPE_PRESSURE)。
rate:指定获取传感器数据的频率(SensorManager.SENSOR_DELAY_FASTEST,SensorManager.SENSOR_DELAY_GAME,SensorManager.SENSOR_DELAY_NORMAL,SensorManager.SENSOR_DELAY_UI)。
SensorManager sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
sensorManager.registerListener(this,sensor,SensorManager.SENSOR_DELAY_GAME);
sensorManager.unRegisterListener(this);