Reputation: 734
I want to stop Sensor manager activity (unregister it) from another Thread or class after some operations to be performed. How can I do that?
Upvotes: 0
Views: 251
Reputation: 48602
Look Here. It might help you.
ShakeListener.java
Made Instance variable in ShakeListener class.
private Sensor accelerometer;
SensorManager sensorManager;
public ShakeListener(Context context) {
sensorManager = (SensorManager)this.context.getSystemService(Context.SENSOR_SERVICE);
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
To unregister from another thread or class.
Do this:
private ShakeListener shakeListener; //Instance variable
shakeListener = new ShakeListener(this);
shakeListener.sensorManager.unregisterListener(shakeListener, shakeListener.sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER));
Upvotes: 1