Как удержать связь с сервером в реал тайм в android 8?

Всем привет!

Есть программа, которая держит связь с firebase в фоновом сервисе (если система убивает сервис, то AlarmManager, через каждые 2 минуты проверяет, запущена ли служба, если не запущена, то запускает). И когда меняются данные в firebase, на устройство моментально приходят новые данные и система посылает уведомление. Все работает отлично.

Но как известно, Android 8 ограничил возможности фонового сервиса, в соответствии чего нужна альтернатива. На stackoverflow советуют JobScheduler, типа самый лучший способ. Но, как я понял, JobScheduler запускает задачу через определенное количество времени, т.е. это не совсем реал тайм, данные в firebase могут измениться сейчас, а устройство с JobScheduler отреагирует скажем через настроенный интервал, т.е. например через 2 минуты. Как сделать так, чтобы был в реал тайме? Интересно, как работают тот же ватсап и другие подобного рода приложения. Как постоянно слушать firebase?

Заранее спасибо
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 2
@nApoBo3
Реалтайм это не про пользовательские мобильные ОС и не про мобильную связь.
В общем случае это решается через push. Можно ещё использовать foreground service. Но в любом случае нужно понимать, что ваш сервис контролирует ОС и может его прибить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы