У меня есть класс, который запускает прослушиватель датчиков при запуске.Этот слушатель записывает последнее значение датчика в переменную, когда происходит событие.Класс продолжает выполнять некоторую логику, и в какой-то момент проверит эту переменную и продолжит работу в зависимости от значения.
Моя проблема в том, что нет никакой гарантии, что при чтении переменной будет какое-либо значение, так какСлушатели датчика Android запускают событие только при изменении значения датчика (и не обязательно вызывают событие, как только они запускаются).
Таким образом, мне нужно, чтобы мое приложение ожидало запуска события, чтобыу него есть данные для обработки (желательно с тайм-аутом, чтобы он не ожидал бесконечно долго).
Мой вопрос: как лучше реализовать это ожидание?Должен ли я иметь обработчик, который проверяет значение каждые X миллисекунд перед продолжением?Должен ли я иметь какую-то передачу сообщений между слушателем и обработчиком, чтобы сообщить ему, когда были записаны данные, и что теперь он может возобновиться?Есть ли другие варианты, которые лучше?
РЕДАКТИРОВАТЬ: я должен отметить, что логика класса выполняется в потоке пользовательского интерфейса.