Reliable offline reminders in Flutter (even if the app is closed / device rebooted)

Discussion

I ran into a frustrating problem while building a reminder feature in a Flutter app.

Scheduled notifications were inconsistent when the app was closed.

Sometimes they fired on time, sometimes they were delayed by hours, and sometimes they didn't fire at all. I tested a few approaches:

• switching between push notifications and local notifications

• using WorkManager for background scheduling

• adding extra logging to check background execution

The issue seems to be Android's background restrictions.

After a lot of testing I ended up building a small reminder engine that schedules notifications using Android alarm scheduling instead of relying on background workers.

So far it's been much more reliable.

The reminder system:

• works completely offline

• fires even if the app is closed

• survives device reboot

• supports repeating reminders

Basic usage looks like this:

final reminder = Reminder(

id: "test",

type: "Feed the dog",

time: DateTime.now().add(Duration(minutes: 10)),

);

await ReminderManager.schedule(reminder);

Curious how other Flutter developers are handling reliable reminders or alarms.

Are you using:

• WorkManager

• AlarmManager

• flutter_local_notifications

• something else?

Would love to hear what approaches people have found reliable.

Posted Mar 2, 2026, 4:03 PM UTC

1323
Loading comments…