HarmonyOS 鸿蒙Next后台代理提醒

HarmonyOS 鸿蒙Next后台代理提醒 后台代理提醒有没有方法可以在提醒完之后自动退出这个代理呢?

5 回复

有方法的哈,可以设置点击提醒通知进入你的应用,通过携带参数判断是否要关闭后续的提醒,我目前就是这么实现的

可以看看WantAgent属性,他可以类似APPLINKing一样去跳转到你的API,还可以携带自定义参数,这样你就可以通过参数去判断到底要不要退出这个代理,等于是半自动

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-reminderagentmanager#wantagent

更多关于HarmonyOS 鸿蒙Next后台代理提醒的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


reminderAgentManager.cancelAllReminders

cancelAllReminders(callback: AsyncCallback<void>): void

取消当前应用设置的所有代理提醒。使用callback异步回调。

系统能力: SystemCapability.Notification.ReminderAgent

参数

参数名 类型 必填 说明
callback AsyncCallback<void> 回调函数,取消代理提醒成功,err为undefined,否则为错误对象。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-reminderagentmanager#reminderagentmanagercancelallreminders

若采用非周期性提醒(如单次倒计时或指定时间的提醒),当用户点击提醒通知的关闭按钮(CLOSE)后,系统会将该提醒标记为已过期/失效,此时代理自动停止管理该提醒。

若设置为按日/周/月重复的提醒,即使触发后用户关闭通知,代理仍会持续管理该提醒。

参考地址

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-reminderagentmanager#actionbuttontype

鸿蒙Next的后台代理提醒功能基于系统级代理机制实现。该功能允许应用在后台或退出后通过代理管理器设置提醒,由系统统一调度触发。开发者需在module.json5中声明ohos.permission.PUBLISH_AGENT_REMINDER权限,使用reminderAgentManager接口发布提醒。提醒类型包括日历、闹钟和计时器,系统会按最优策略管理触发时机和资源分配。代理提醒独立于应用进程生命周期,通过消息机制通知用户。

在HarmonyOS Next中,后台代理提醒执行完成后会自动释放相关资源,无需手动退出。系统会在提醒触发并执行完回调逻辑后,自动清理代理实例。你只需确保在onTrigger回调中完成业务逻辑即可,系统会自动管理生命周期。如果使用ReminderRequest设置一次性提醒,触发后系统会自动移除该提醒代理。

回到顶部