this.sensorManager = (SensorManager)task.getSystemService(Context.SENSOR_SERVICE);
// Get sensors
- accSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
- grvSensor = sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY);
- magSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
- gyrSensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
-
+ this.accSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+ this.grvSensor = sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY);
+ this.magSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
+ this.gyrSensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
+ }
+
+ public void connect() {
// Connect sensor listeners
sensorManager.registerListener(this, accSensor, SensorManager.SENSOR_DELAY_FASTEST);
sensorManager.registerListener(this, grvSensor, SensorManager.SENSOR_DELAY_FASTEST);
sensorManager.registerListener(this, gyrSensor, SensorManager.SENSOR_DELAY_FASTEST);
}
+ public void disconnect() {
+ // Remove sensor listeners
+ sensorManager.unregisterListener(this, accSensor);
+ sensorManager.unregisterListener(this, grvSensor);
+ sensorManager.unregisterListener(this, magSensor);
+ sensorManager.unregisterListener(this, gyrSensor);
+ }
+
public void reset_heading() {
Util.debug("Sensors: handle - reset heading");
this.rotation = new Quat();