API распознавания активности не обнаруживает изменения местоположения - Android OREO

Проблема: API распознавания активности имеет службу намерений, которая будет получать движения и получать их как часть намерения (onHandleIntent). Когда я изменил свое приложение на целевой Android Oreo, функциональность ведет себя как показано ниже

  1. Пока приложение находится на переднем плане, приложение обнаруживает действия.
  2. в то время как приложение в фоновом режиме, оно не обнаруживает действия

Я пытался изменить службу намерений на JobIntentService, но не работает.

Кто-нибудь может помочь в этом?

Заранее спасибо.

2 ответа

Вам следует проверить наличие ограничений на определение местоположения для приложений в Oreo, когда они работают в фоновом режиме или используют фоновые службы. Ответ заключается в том, чтобы использовать службу переднего плана или вывести приложение на передний план.

Я столкнулся с той же проблемой. Мое приложение работало как шарм на предыдущих версиях Android, но в Oreo обновлений местоположения не было.

Нашел решение в: https://developer.android.com/about/versions/oreo/background-location-limits.html

У меня есть служба прослушивания местоположения, которая работает в фоновом режиме. В orea фоновые службы получают только несколько обновлений местоположения. Это должно быть изменено на службу переднего плана. Единственное, что мне нужно было сделать, это вызвать startForeground() внутри onCreate() сервиса.

Другие вопросы по тегам