如何在Flutter中实现应用被杀后仍可触发的不规则本地通知?
不规则间隔本地通知实现难题
需求
开发一款应用,需向用户推送5个左右时间间隔不规则(时间由内部逻辑计算)的本地通知。
已尝试方案及痛点
- 仅用flutter_local_notification定时通知:运行时流畅,但有两个关键限制:
- 无法在同一通知通道一次性调度全部5个通知
- 通知展示时无法触发回调方法自动调度下一个通知
- WorkManager + flutter_local_notification普通通知:通过逻辑计算下一个通知时间并触发,但应用关闭后WorkManager的调度极不稳定——有时正常触发,有时延迟很久,甚至只有重启应用才会显示,完全达不到准时推送的要求。
找到的潜在方案
在《Schedule irregular Notifications》帖子中,用户u/autognome提出了一个思路:结合flutter_local_notification定时通知与background_fetch,借助无头函数每15分钟唤醒应用后台,利用短暂的后台运行时间执行回调,重新调度下一个通知。
求助
如果有处理不规则定时本地通知的经验、更优实现方案或建议,或者能指出我上述尝试中的错误,欢迎分享。目前找不到合适的实践指南,希望能帮后来者少走弯路。
附:未来若有开发者遇到同类问题需要帮助,可联系我。
内容的提问来源于stack exchange,提问作者sidali boumaraf
相关产品推荐
相关产品推荐

