Ionic 3实现每日特定时间发送本地通知的方法
实现Ionic 3每日特定时间发送本地通知
没问题,我来帮你搞定这个需求!你已经完成了插件安装和依赖引入的准备工作,接下来只需要在schedule方法里配置重复规则和触发时间,就能实现每日定时通知了。
核心思路
利用cordova-plugin-local-notification的repeat参数,将其设置为'daily',同时通过at指定你要触发通知的具体时间,就能让通知每天自动重复触发。
完整代码示例
把你的代码补全成这样就行:
// 获取当前日期的年、月、日,用来构建触发时间 const currentDate = new Date(); const year = currentDate.getFullYear(); const month = currentDate.getMonth(); const day = currentDate.getDate(); // 定义两个每日触发的时间点(上午10点、中午12点) const time1 = new Date(year, month, day, 10, 0, 0); const time2 = new Date(year, month, day, 12, 0, 0); // 调度第一个每日重复通知 this.localNotifications.schedule({ id: 1, // 唯一ID,每个通知的ID不能重复,否则会被覆盖 title: '上午时段提醒', text: '已经10点啦,起来活动活动吧!', at: time1, // 指定触发时间 repeat: 'daily', // 关键:设置为每日重复 vibrate: true, // 触发时是否震动,可选 sound: null // 如需自定义音效可设置路径,默认无音效 }); // 调度第二个每日重复通知 this.localNotifications.schedule({ id: 2, title: '午餐时间到', text: '该放下手头的工作,去吃午饭啦!', at: time2, repeat: 'daily' });
几个重要注意事项
- 唯一ID必须设置:每个通知的
id参数必须唯一,否则新的通知会覆盖旧的,导致只能看到一个通知。 - 自动处理已过时间:如果当前时间已经超过了你设置的
time1或time2,插件会自动把首次触发时间调整到第二天的对应时间,不用你额外写逻辑判断。 - 通知权限确认:确保你的应用已经获取了设备的通知权限,你可以在初始化时手动调用
this.localNotifications.requestPermission()来请求权限,避免通知被拦截。 - 测试小技巧:测试的时候可以把触发时间改成当前时间的几分钟后,快速验证通知是否正常触发,没问题再改成目标时间。
内容的提问来源于stack exchange,提问作者Amanullah Aman
相关产品推荐
相关产品推荐

