Я уже несколько месяцев сталкиваюсь с этой проблемой. Мое android приложение использует службу переднего плана (смоделировано this для отслеживания местоположения в течение коротких периодов. Это работало хорошо до Android P, но с выпуском Android 10 / Q, служба переднего плана прекращает отправку обновлений в течение десяти минут, прежде чем снова начать обновлять, как следует. Эти обстоятельства:
После того, как фоновые обновления будут обновлены, они будут остановлены на период до десяти минут до перезапуска и отправка пакетных обновлений местоположения надлежащим образом. В течение этого периода все еще отображается необходимое уведомление переднего плана, и служба работает в соответствии с ОС Android. Единственное другое странное поведение заключается в том, что иногда она вызывает обратный вызов OnLocationAvailability для LocationCallback, но он делает это, будь то на переднем плане или на заднем плане.
Вещи s Я сделал:
- Отключение пакетных обновлений местоположения: это работает для получения согласованных обновлений, но нарушает еще одну очень классную часть моего приложения. Вместо этого я предпочел бы, чтобы ОС работала правильно.
- Добавление обоих новых Android изменений манифеста Q (ACCESS_BACKGROUND_PERMISSION и foregroundServiceType = "location"). Я сделал это как часть Android Q обновления.
- Расширил мою регистрацию в службе переднего плана, которая была бесполезна, так как он просто ожидает FusedLocationProviderClient
Как мне следует прогресс в отладке этого? Было трудно получить больше информации о сервисе переднего плана и fusedLocationProviderClient. Кроме того, если кто-то сталкивался с этой проблемой, я также буду признателен за ваш отзыв.