1、调用Context的getSystemService(Context.SENSOR_SERVICE)方法来获取SensorManager对象。SensorManager对象代表系统的传感器管理服务。
2、调用SensorManager的getDefaultSensor(int type)方法来获取指定的传感器。
3、一般在Acitvity的onResume()方法中来调用SensorManager的registerListener()为指定传感器注册监听器即可。程序通过实现监听器即可获得传感器传回来的数据。
一般 main函数需要implements SensorEventListener 然后需要复写的方法有:onSensorChanged(状态改变)、onAccuracyChanged()(精度改变)、onResume()、onStop()这四个方法。
android sdk里面的例子如下:
public class SensorActivity extends Activity, implements SensorEventListener {
private final SensorManager mSensorManager;
private final Sensor mAccelerometer;
public SensorActivity() {
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
}
protected void onResume() {
super.onResume();
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
protected void onPause() {
super.onPause();
mSensorManager.unregisterListener(this);
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
}
}