Android переносит фоновый сервис в jobcheduler - PullRequest
0 голосов
/ 03 июня 2018

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

меня беспокоит то, что если мы перейдем к jobscheduler, он через некоторое время остановится.мы хотим показать уведомление, если событие произойдет

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

каков наилучший способ поддерживать соединение и получать данные?

спасибо заранее

1 Ответ

0 голосов
/ 03 июня 2018

меня беспокоит то, что если мы перейдем на jobscheduler, он через некоторое время остановится.

Да.В режиме ожидания все запланированные задания откладываются до тех пор, пока ОС не предоставит доступ к окну обслуживания.

Каков наилучший способ поддерживать соединение и получать данные?

Вы не должны поддерживать постоянное соединение с вашим сервером и постоянно запускать фоновый сервис.Начиная с Android O, вы не сможете запускать Сервисы в фоновом режиме.ОС прекратит работу всех служб, и любые попытки запустить службу в фоновом режиме приведут к IllegalStateException

По вашему требованию вам необходимо использовать FCM.Основная идея состоит в том, чтобы вместо того, чтобы постоянно запрашивать данные у сервера, пусть сервер уведомляет приложение о доступности данных.Для получения более подробной информации и шагов реализации см. официальный документ .

...