Есть ли максимальное время для функций в диспетчере тревог Android?

У меня есть приложение, которое работает полностью локально/офлайн, и в полночь (используя android_alarm_manager и flutter_local_notifications) оно выполняет некоторую обработку для создания и планирования пользовательских уведомлений на основе фактических локальных данных пользователя и воссоздает будильник в полночь, проблема в том, что через несколько дней эти фоновые процессы просто останавливаются, если я запускаю его каждую минуту, он отлично работает, когда я использую устройство, но при запуске в полночь он работает только в первые дни, я даже поместите несколько журналов, чтобы увидеть, произошли ли какие-либо ошибки (создание журналов в кеше и чтение их позже), но через несколько дней приложение просто перестает вести журнал. Я думаю, что это вызвано тем, что Android убивает службы, когда это занимает немного времени, но я не совсем уверен, и если это так, есть другой способ сделать фоновые службы на Android или лучший способ - поместить мое приложение а пользовательские данные онлайн и с firebase создавать и отправлять уведомления?

Вы тем временем открываете свое приложение? Если пользователь не взаимодействует с вашим приложением, оно будет отправлено в корзину с более низким приоритетом и не сможет запускать задания и сигналы тревоги.

Pawel 17.12.2022 21:18

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

underfilho 17.12.2022 23:41
1
2
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, что решил проблему, для ее решения я использовал те же пакеты и Workmanager, поэтому с помощью AlarmManager я могу запланировать запуск будильника в полночь, который генерирует и запускать периодическую работу (24 часа) на основе пользователя. данные отправляют уведомления пользователю. Я думаю, что это лучший подход, потому что даже android говорит, что WorkManager — правильный инструмент для фоновой работы, а alarmmanager — только для будильников.

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