Использование GPS с DOZE в Android 8 - PullRequest
0 голосов
/ 24 августа 2018

У меня есть приложение, которое запускает фоновый сервис для отслеживания местоположения GPS и сравнения его со списком местоположений.Когда он находит совпадение, он отправляет широковещательную рассылку, чтобы инициировать активность на переднем плане, которая затем отображает информацию о местоположении.Отслеживание GPS использует функцию GPS в Службах Google Play и требует обновления каждые 20 секунд.

В большинстве случаев пользователь не знает о приложении и может выполнять другие действия.Интерфейс переднего плана, вероятно, не будет срабатывать чаще, чем каждые 2 минуты, и может длиться до 20 минут и более.В остальное время важно, чтобы приложение продолжало получать GPS-местоположения, не прерывая то, что делает пользователь.

Я пытаюсь понять влияние новых функций Doze и Standby в Android 8Читая последние документы, мне кажется, что он больше не будет работать, и фоновая служба не будет получать свои обновления (или будет получать только несколько раз в час, что бесполезно).Может кто-нибудь сказать мне, если это правильно?

Они, кажется, говорят, что я должен использовать службу переднего плана, но в других местах они говорят, что службы переднего плана должны использоваться только там, где необходимо некоторое взаимодействие с пользователем.Похоже на улов 22. Служба переднего плана в порядке для чего-то подобного?

Документы также относятся к белым спискам, но мне не ясно, что это на самом деле делает.Могу ли я добавить в белый список свое приложение, чтобы оно продолжало работать?

Может ли кто-нибудь помочь смущенному разработчику-любителю?

Chris S

1 Ответ

0 голосов
/ 16 сентября 2018

Теперь я понимаю это немного лучше.Я не нашел никакого способа сделать это с помощью фонового сервиса.Я попытался запросить разрешение REQUEST_IGNORE_BATTERY_OPTIMIZATIONS в манифесте, но оно все равно не сработало - отслеживание GPS прекращается через несколько минут.Чтобы сделать то, что я хочу, мне пришлось преобразовать отслеживание в службу переднего плана - это работает нормально.

...