0

在执行某些操作后,我想从另一个线程或类停止传感器管理器活动(取消注册)。我怎样才能做到这一点?

4

1 回答 1

1

看这里。它可能会帮助你。

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);
}

从另一个线程或类中注销。

做这个:

private ShakeListener shakeListener;  //Instance variable
shakeListener = new ShakeListener(this);
shakeListener.sensorManager.unregisterListener(shakeListener, shakeListener.sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER));
于 2013-01-06T11:35:32.457 回答