私のアクティビティでは、「onSensorChanged」メソッドを使用してセンサーを監視しています。
そのアクティビティのボタンが押されたときにセンサーの監視を開始します (「onClick」メソッドで)。
onPause メソッドと onResume メソッドでリスニングを登録および登録解除します。
コードは次のとおりです。
public void onCreate(Bundle savedInstanceState) {
//Here i set "mySensor"
}
public void onClick(View view){
sensorManager.registerListener(this, mySensor, SensorManager.SENSOR_DELAY_FASTEST);
}
protected void onPause() {
sensorManager.unregisterListener(this, mySensor);
}
protected void onResume() {
sensorManager.registerListener(this, mySensor, SensorManager.SENSOR_DELAY_FASTEST);
}
public final void onSensorChanged(SensorEvent event) {
//do things
}
問題は、画面の向きが変わると監視が停止し、ボタンをもう一度押すまで「onSensorChanged」内で行うことが停止することです。
読んでいて、画面の向きが変わるとアクティビティが壊れて再作成されるようですが、その過程でセンサーの監視が止まらないようにしたいです。
どうすれば監視を維持できますか? バンドルを使用して行う必要があると思いますが、よくわかりません。
ありがとう。