У меня есть приложение, которое работает полностью локально/офлайн, и в полночь (используя android_alarm_manager и flutter_local_notifications) оно выполняет некоторую обработку для создания и планирования пользовательских уведомлений на основе фактических локальных данных пользователя и воссоздает будильник в полночь, проблема в том, что через несколько дней эти фоновые процессы просто останавливаются, если я запускаю его каждую минуту, он отлично работает, когда я использую устройство, но при запуске в полночь он работает только в первые дни, я даже поместите несколько журналов, чтобы увидеть, произошли ли какие-либо ошибки (создание журналов в кеше и чтение их позже), но через несколько дней приложение просто перестает вести журнал. Я думаю, что это вызвано тем, что Android убивает службы, когда это занимает немного времени, но я не совсем уверен, и если это так, есть другой способ сделать фоновые службы на Android или лучший способ - поместить мое приложение а пользовательские данные онлайн и с firebase создавать и отправлять уведомления?
@Pawel хммм, это возможно, потому что в своих тестах я не входил в приложение, просто чтобы посмотреть, будет ли оно работать, но, с другой стороны, когда я меняю эту службу на другую, действительно более простую и быструю, она работает ежедневно, даже если я не войду в приложение
Я думаю, что решил проблему, для ее решения я использовал те же пакеты и Workmanager, поэтому с помощью AlarmManager я могу запланировать запуск будильника в полночь, который генерирует и запускать периодическую работу (24 часа) на основе пользователя. данные отправляют уведомления пользователю. Я думаю, что это лучший подход, потому что даже android говорит, что WorkManager — правильный инструмент для фоновой работы, а alarmmanager — только для будильников.
Вы тем временем открываете свое приложение? Если пользователь не взаимодействует с вашим приложением, оно будет отправлено в корзину с более низким приоритетом и не сможет запускать задания и сигналы тревоги.