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 に答える