firebase job dispatcher - это работа в дремоде в андроиде.

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

3 ответа

Как описано в документации, если вы хотите, чтобы ваше приложение немедленно реагировало на любое уведомление, или если вашему приложению требуется интеграция обмена сообщениями в реальном времени с бэкэнд-сервисом (в вашем случае видеовызов), вы должны использовать сообщения с высоким приоритетом Firebase Cloud Messaging (FCM) запускать ваше приложение, когда устройство находится в режиме ожидания.

В обычном случае работа диспетчера будет работать. Но это не так надежно в таких устройствах, как Xiaomi, Oppo, Lenovo ... Служба отключается через некоторое время, когда устройство не используется. Вы можете внести в белый список свое приложение из режима ожидания, игнорируя оптимизацию батареи, но, тем не менее, есть вероятность, что оно не будет работать. Так что для приложения видеозвонка.. вы должны пересмотреть свои решения

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

Если вы посмотрите на документацию, триггер устанавливается по временному интервалу, а не по определенному времени:

.setTrigger(Trigger.executionWindow(0, 60))

Он должен работать, когда устройство входит в окно обслуживания.

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