Извлечь одно значение из датчика без использования события - PullRequest
5 голосов
/ 21 апреля 2011

Мне нужна помощь, чтобы получить информацию от датчика ориентации.Как я видел практически в каждом уроке / руководстве, значения передаются событию (onSensorChanged (событие SensorEvent), в котором им можно манипулировать.

Моя проблема в том, что я не хочупостоянно работайте с электромагнитным датчиком / датчиком ориентации (ради времени автономной работы). Я хочу иметь возможность включить его, получить текущее значение и выключить его. Есть ли способ сделать это?

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

То, что я ищу, выглядит примерно так (Извините за отсутствие форматирования, я могукажется, не понял):

private void getOrientationNOW() {
   m_SensorManager.registerListener(mySensorEventListener, m_MagneticSensor, SensorManager.SENSOR_DELAY_FASTEST);
   //---->Something here to get the current value from the sensor
   m_SensorManager.unregisterListener(mySensorEventListener);
}

Если это возможно, пожалуйста, помогите мне!

Спасибо всем заранее!

1 Ответ

0 голосов
/ 21 апреля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...