Я разрабатываю приложение для Android, чтобы отслеживать еду в течение дня. Мы еще не определились с тем, какие датчики использовать еще, поэтому приложение может подключаться ко всем датчикам из Сервиса и передавать их в течение неопределенного времени, в зависимости от того, когда телефон решает очистить ресурсы приложения. То, что я заметил во время тестирования надежности, заключается в том, что акселерометр и гироскоп вырезаются через две-три минуты, когда они оба передаются на средней или высокой частоте. Я реализовал поток тайм-аута, который проверяет последние полученные данные ускорения или гироскопа (в зависимости от того, предполагается ли их потоковая передача) и перезаписывает новые слушатели, если они прекратили потоковое вещание. Есть ли у кого-нибудь еще эта проблема и/или у кого-нибудь есть рекомендации по менее интенсивному аккумулятору для надежной потоковой передачи acc/gyro?Microsoft Band 2 Data прекращает потоковое вещание для акселерометра и гироскопа
Резюмируя:
- Зарегистрированные акселерометр и гироскоп слушатели прекращают прием данных через 2-3 минуты
- Это происходит только при потоковой передаче Разгона/гироскоп на средних и высоких частот настройки и только тогда, когда Accel и гироскопов оба потокового
- Это происходит независимо от того, являются потоковыми другими датчики или не
- исключения не отбрасываются, когда это происходит
- Подстрочных ион/отписка, а также поступающие данные все обработана на новые темы
- У меня есть Hacky тайм-аут поток, который отменяет регистрацию и регистрирует новые слушатель для разгона/гироскопа, если они перестают потоковом
Вопросов:
- Кто-нибудь еще сталкивается с этой проблемой?
- Есть ли проблема с использованием новых потоков для обработки данных, из-за которых слушатели будут незарегистрированы (маловероятно, потому что другие данные работают таким образом)?
- Есть ли лучший (более эффективный аккумулятор) способ обнаружения события, не возникающего и отвечающего на него, чем проверка потока на тайм-аут?
Заранее благодарен!
Благодарим вас за информативный ответ! Я рассмотрю API облака и проблему BandService (я знаю, где это исключение будет выбрано). Однако я смущен в первом пункте. У меня создалось впечатление, что вы можете получить угловую скорость или угловое ускорение от гироскопа, и я не могу найти его в документации. Можете ли вы указать мне на свой источник? Еще раз спасибо. –