Android Wear: измерение датчиков и предотвращение режима окружающей среды / сна

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

. GetWindow () clearFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // Разрешить идти спать

В настоящее время у меня есть метод onSensorsChanged () в основной деятельности. Я готов поместить его в службу, но, насколько я понимаю, это не поможет, если оно все еще находится в основном потоке пользовательского интерфейса. Я мог бы поместить это в его собственную нить, но я не уверен, что это представит Ambient Mode от замедления датчиков. Вопросы: 1) Есть ли способ предотвратить режим окружающей среды? Или, если обнаружен, чтобы выключить его? 2) Если датчики находятся в своем собственном сервисе / потоке, могу ли я разрешить заданию перейти в спящий режим и по-прежнему поддерживать сбор датчиков на полной скорости? 3) Если датчики находятся в своем собственном сервисе / потоке, могу ли я отправлять данные через dataapi на телефон? Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос