Я тестирую с приложением, которое собирает данные акселерометра и обрабатывает их.
При первой установке приложения вызывается onSensorChanged () со скоростью 1/2, скорость которой указывается в samplePeriodUs
Я попытался отменить регистрацию и зарегистрировать прослушиватель sensorManager в onPause ().Один хак , который, кажется, работает, это ввести 1/2 частоты дискретизации в onResume ().Это не может быть правильным способом ведения дел?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sensorManager = (SensorManager) getActivity().getSystemService(Context.SENSOR_SERVICE);
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(this, accelerometer, 20000); }
public void onResume() {
super.onResume();
sensorManager.unregisterListener(this);
sensorManager.registerListener(this, accelerometer, 10000);
}
public void onPause() {
super.onPause();
sensorManager.unregisterListener(this); }
Я ожидаю sensorManager.registerListener (this, акселерометр, 20000);для использования в onResume () и onCreate ()