Как реализовать службу фоновых уведомлений в android, когда через некоторое время все службы, кроме передних, будут закрыты? - PullRequest
0 голосов
/ 05 февраля 2020

Я хотел бы предложить услугу фоновых уведомлений (в режиме реального времени), но не могу найти способ заставить ее работать, поскольку фоновые службы останавливаются системой, и когда я перезагружаю их из приемника, я получаю ошибку.

Я вижу, что это есть в других приложениях, но я проверил запущенные сервисы, и у них там нет сервисов. Как вы думаете, они делают это через несколько коротких промежутков времени, чтобы проверять наличие новых уведомлений?

Любой совет будет полезен.

1 Ответ

1 голос
/ 05 февраля 2020

У вас есть два варианта:

1: Служба Foreground.

Вы можете поддерживать службу в течение неопределенного времени, повысив свою категорию до службы Foreground. Вы можете стать приоритетным сервисом, только добавив Уведомление для сервиса в область уведомлений. Предположительно тот, который позволяет пользователям сделать ваш сервис go далеко. Смотри Service.setForeground.

Периодический опрос с использованием WorkManager и AlarmManager

Эти API-интерфейсы позволяют планировать работу периодов c при наличии активного соединения rnet. Основная идея c заключается в том, что каждые несколько минут вы будете опрашивать, чтобы узнать, есть ли что сделать.

Других вариантов нет. Это по замыслу. Невозможно постоянно скрываться в фоновом режиме без отображения уведомления. Android Разработчики ОС приложили немало усилий, чтобы убедиться, что другого пути нет.

...