Я реализовал получение обновлений местоположения с использованием FusedLocationProviderApi. Мне нужно отслеживать местоположение устройства в фоновом режиме, когда приложение не работает.Проблемы с проверкой местоположения. Я не могу заставить их НЕ работать
Я следил за учебниками, у меня есть Служба, где я вызываю requestLocationUpdates
с намерением, который запускает сервис.
Я намеренно НЕ реализовал сохранение блокировки слежения только для проверки и увидеть, что при выключении экрана устройство перестает получать обновления местоположения. Как только я проверил, что я мог бы пойти и реализовать блокировку следа и ожидать противоположное, которое должно видеть, что оно работает.
Я использовал два устройства: Google Nexus 10 с KitKat и Samsung Galaxy A5 (2016) с Lollipop.
На обоих устройствах он продолжает отправлять обновления (я отправляю обновления на веб-сайт). Я протестировал экран, после того как оставил устройство на столе в течение минуты, а затем снова пошел по дому.
Я знаю, что Android 6 и режим Doze более ограничительный характер, но я хочу, чтобы гвоздь и понять, как он работает на Android 4.4 и Android 5.
Так расстраивает! Любые идеи о том, как на самом деле заставить устройство перейти в спящий режим, чтобы я мог видеть, что обновление местоположения перестает работать?
Забавно, все, что я читал о том, чтобы она работает :)
EDIT: Я запутался, почему получать обновления местоположения до сих пор работают, когда экран выключен, даже с агрессивной настройкой обновления местоположения, такие как следующее:
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setFastestInterval(2);
locationRequest.setInterval(1000);
Пока служба работает, вы будете получать обновления местоположения – tyczj
@tyczj спасибо, но как это помогает? Не могли бы вы поделиться своими мыслями? –
Ну, что я получаю, вам нужно, чтобы ваша служба остановилась либо на ОС, останавливающей ее, либо на ручном режиме, останавливая обслуживание, блокировку от бодрствования или не создавая различия. – tyczj