Мы попробовали несколько способов решения этой проблемы, в том числе:
WorkManager реализует попытку сохранить базу данных в фоновом режиме.
Попробуйте выполнить задачу с помощью Служба переднего плана.
Запуск фоновых задач после перезагрузки устройства через BroadcastReceiver и BootCompletedReceiver.
Добавлено разрешение игнорировать оптимизацию батареи.
Самое удивительное, что уведомление принимается правильно, но данные не сохраняются в базе данных, когда экран телефона выключен или приложение работает в фоновом режиме. Мы думаем, что это может быть связано с оптимизацией батареи Android или режимом сна, но уведомления отображаются нормально. Мы думаем, влияет ли какое-либо новое обновление Firebase или Android на эту систему?
В наш список задач входят следующие:
Получение уведомлений от Firebase.
Сохранение заголовка, сообщения и т. д. в базе данных в фоновом режиме при отображении уведомления.
Все работает нормально, когда приложение открыто, но не сохраняется при закрытии.
Мой вопрос:
- Почему уведомления приходят корректно, но база данных не сохраняется, когда приложение работает в фоновом режиме? 2. Ограничивает ли Firebase каким-то образом эти операции сохранения базы данных в фоновом режиме или эту проблему вызывает режим ожидания Android? 3. Есть ли другой способ решить эту проблему?
спасибо
Я пробовал использовать WorkManager, Foreground Service и BroadcastReceiver, чтобы сохранять уведомления в базе данных, пока приложение находится в фоновом режиме или на экране. выключен. Я ожидал, что уведомления будут успешно сохраняться в базе данных независимо от того, открыто приложение или нет. Уведомления принимаются, но данные не сохраняются при закрытии приложения или выключении экрана, несмотря на реализацию фоновых решений.
Подробнее здесь: https://stackoverflow.com/questions/790 ... screen-off