Способ получить показания акселерометра каждые х секунд? - PullRequest
0 голосов
/ 23 июля 2010

Чтобы иметь возможность делать некоторые точные вычисления, которые я хочу для своего приложения, я должен иметь возможность получать показания акселерометра каждые 100 мс.Я не нашел способа сделать это на Android, кажется, что единственный способ получить показания акселерометра - это установить слушателя, который может слушать с разными интервалами.В принципе, есть ли способ получить показания через определенные промежутки времени?

-Jake

Ответы [ 3 ]

2 голосов
/ 23 июля 2010

Я бы зарегистрировал прослушиватель Accelerator, а затем в прослушивателе я бы считал системное время, и только если пройдет 1 секунда, вы можете обновить ваши дальнейшие методы.

1 голос
/ 23 января 2015

Представленное решение кажется более энергоемким, чем альтернатива, которую я использовал в своих проектах. Это выглядит так:

  1. Установите будильник (android.app.AlarmManager), который будет setRepeating каждые x секунд.
  2. В onReceive сигнализации registerListener с настройкой датчика вашего удобства.
  3. В SensorEventListener onSensorChanged используйте значения event, как вам нужно. Тогда unregisterListener.

Шаги 2 и 3 будут повторяться каждые x секунд.

Хотелось бы вставить весь код, но он довольно длинный и переплетен с другими функциями, и я уверен, что вы можете найти все детали в Интернете.

0 голосов
/ 23 июля 2010

Поместите Thread.sleep () в слушателя, чтобы уменьшить показания.Они запускаются в отдельном потоке.

...