1.9 KiB
Consuming App Notes — Android Daily Notifications
Brief notes for apps that integrate the daily notification plugin on Android.
Double schedule (rapid successive calls)
If your app calls scheduleDailyNotification twice in quick succession (e.g. within a few hundred ms) for the same reminder, the second call cancels the alarm just set and reschedules. On some devices or OEMs this can contribute to the alarm not firing.
Recommendation: Debounce or guard in the edit-reminder success path so you only call scheduleDailyNotification once per user action (e.g. wait for the first call to resolve before allowing another, or coalesce rapid calls).
Alarm scheduled but not firing (e.g. 6:04)
When logs show "Scheduling OS alarm" and "Updated schedule in database" but the notification never appears:
-
Confirm the broadcast is delivered
Run logcat including the receiver:adb logcat -v time -s DNP-SCHEDULE:V DailyNotificationWorker:V DailyNotificationReceiver:VAt the scheduled time, check whether
DailyNotificationReceiverlogs anything. If the Receiver runs, the issue is downstream (WorkManager / display). If it does not run, the OS did not deliver the alarm (Doze, OEM, or alarm replacement). -
Avoid double schedule
Ensure the app is not callingscheduleDailyNotificationtwice in quick succession for the same reminder (see above). -
Plugin fix (v1.1.6+)
The plugin no longer overwrites the app’s schedule row when handling rollover work that uses adaily_rollover_*id, so the app’snextRunAtstays correct after a notification fires.
References
- ACTION_PLAN_INTEGRATION_FIXES.md — plugin and app integration checklist
- CONSUMING_APP_OPTIONAL_ANDROID_ID_CLEANUP.md — optional cleanup of stale schedule rows