在我的活动中,我使用“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”中所做的事情停止,直到我再次按下按钮。
我一直在阅读,似乎当屏幕方向发生变化时,我的活动被破坏并重新创建,但我希望在此过程中不会停止对传感器的监控。
如何保持监控?我认为必须使用 Bundle 来完成,但我不确定。
谢谢。