Мне интересно, как (если возможно) успешно запустить requestLocationUpdates
для моего LocationManager
внутри недолговечного сервиса - в данном случае Android WearableListenerService
.Android LocationManager requestLocationUpdates в WearableListenerService
Например, у меня есть служба, которая запускается, когда носимые устройства отправляют сообщение о необходимости обновления. Часть этого обновления предназначена для запроса внешнего API для некоторых данных на основе текущего местоположения пользователя. Если не получено «последнее известное» местоположение от getLastKnownLocation
, я регистрируюсь для requestLocationUpdates
от менеджера местоположений, чтобы получить текущее местоположение устройства, а затем выполнит мою задачу.
Однако недолговечное обслуживание существует и уничтожается до того, как менеджер местоположения получит событие изменения местоположения, и, таким образом, слушатель обратного вызова не срабатывает, или я получаю "sending message to a Handler on a dead thread" errors like this.
Мой вопрос: могу ли я заставить эту службу более или менее блокировать до тех пор, пока не будет найдено местоположение, и обратный вызов onLocationChanged
перед выходом (onDestroy
) называется?
Или, какой правильный/правильный механизм для этого?
Как работает WearableListenerService? –
Через MessaeApi с сообщением, отправленным с носящего устройство – cpjolicoeur
Вы выяснили какое-либо хорошее решение для этого? –