Я работаю над приложением музыкального проигрывателя и замечаю странное поведение на устройствах Android 9, когда пользователь включает настройку «Фоновое ограничение» (Настройки -> Приложения -> [Имя приложения] -> Батарея -> ФонОграничение).
Вот что я делаю: я запускаю службу музыкального проигрывателя, вызывая Service.startService (), затем устанавливаю его на передний план с помощью Service.startForeground (), пока мое приложение находится на переднем плане.
Вот что я вижу, когда включено «Фоновое ограничение»: 1) Service.startForeground () не будет публиковать уведомление 2) Моя служба переднего плана будет убита ОС через минуту после того, как мое приложение перейдет вbackground
Вот что я вижу в журналах: 1) «Service.startForeground () не разрешен из-за ограничения bg» при вызове Service.startForeground () 2) «Остановка службы из-за простоя приложения», когда мое приложениеавтоматически убивается операционной системойзнание (постоянное уведомление);действительно ли настройка «Фоновое ограничение» предназначена для запрета всей фоновой активности?
Интересная находка: Глядя на пример проекта Google «Универсальный музыкальный плеер» на GitHub, я заметил, что их пример проекта не уничтожается, как мое приложениеявляется.После копания я заметил, что это связано с тем, что они привязываются к своему сервису и никогда не отменяют привязку в Activity.onPause ().Согласно документам Google, на связанные сервисы не распространяются те же фоновые ограничения.Это действительно решение моей проблемы?Кажется немного хакерским / хрупким.
Заранее спасибо за помощь!