HarmonyOS鸿蒙Next跨平台flutter_local_notifications本地通知

HarmonyOS鸿蒙Next跨平台flutter_local_notifications本地通知 Flutter for OpenHarmony 实战:flutter_local_notifications 本地通知触达方案_flutter_钛态-开源鸿蒙跨平台开发者社区这个通知是需要在AGC申请嘛?如果要实现系统通知的话details={“code”:1700002,“message”:“The number of reminders exceeds the limit.”})


更多关于HarmonyOS鸿蒙Next跨平台flutter_local_notifications本地通知的实战教程也可以访问 https://www.itying.com/category-92-b0.html

7 回复

【解决方案】
尊敬的开发者您好,如果调用本地通知功能报错1700002:The number of reminders exceeds the limit.可能原因和解决方案如下:

可能原因:

  • 因管控限制,普通应用如果没有代理提醒的使用权限,提醒数量为0。
  • 单个普通应用提醒数量不超过30个。
  • 从API version10开始,所有应用提醒数量总和不超过12000个。API version 9及之前的版本,提醒数量总和不超过2000个。

解决方案:

  1. 确认是否申请了代理提醒使用权限
  2. 权限申请通过后,在项目modlue.json5中配置权限声明:“requestPermissions”: [ { “name”: “ohos.permission.PUBLISH_AGENT_REMINDER”, “usedScene”: {“when”: “always”} } ]
  3. 按照开发指南,检查包名是否使用邮件申请权限的包名,检查提醒数量是否超过规定数量,及时删除不必要的提醒。

更多关于HarmonyOS鸿蒙Next跨平台flutter_local_notifications本地通知的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


可以参考错误码1700002 提醒数量超出限制

错误信息

The number of reminders exceeds the limit.

错误描述

当调用发布提醒接口时,提醒数量超出最大限制。

可能原因

  1. 因管控限制,普通应用如果没有代理提醒的使用权限,提醒数量为0。
  2. 单个普通应用提醒数量不超过30个。
  3. 从API version 10开始,所有应用提醒数量总和不超过12000个。API version 9及之前的版本,提醒数量总和不超过2000个。

处理步骤

  1. 首先,确认是否申请了代理提醒的使用权限
  2. 然后,在申请通过情况下,检查提醒数量是否超过规定数量,及时删除不必要的提醒。

flutter_local_notifications 在鸿蒙上的报错 1700002 ,是本地提醒数量超限,和AGC申请无关,无需服务端推送权限。

这个库依赖鸿蒙本地通知能力,错误1700002代表你创建的定时提醒(reminders)超过了系统单应用上限,需要清理未取消的旧提醒、减少单次创建数量,或改用分批调度的方式实现。

HarmonyOS的流畅动画和过渡效果让操作更加顺畅,体验极佳。

不需要。flutter_local_notifications 做的是本地通知/本地提醒,不走 AGC,也不需要在 AGC 申请 Push Kit。
只有你要做服务端推送(远程推送),才需要去 AGC 开通 Push Kit、申请服务账号等。

你遇到的:

details={"code":1700002,"message":"The number of reminders exceeds the limit."}

这表示:你当前应用在系统里创建的“提醒(reminder/定时触达)”数量超过了系统上限(OpenHarmony/HarmonyOS 的 Reminder/定时类能力通常对“每应用可创建数量”有限制)。所以不是权限/AGC问题,而是“创建太多定时任务”了。

怎么解决 1700002(常用办法)

  1. 不要无限累加 schedule
    每次刷新业务数据前,先取消旧的定时通知/提醒,再重新创建:

    • cancel(id) / cancelAll()(对应插件提供的取消接口)
    • 或你自己维护一批固定 id,重复使用同一批 id(更新而不是新增)
  2. 合并提醒
    比如一天几十条,改为“每天/每小时一条汇总提醒”,点进去再看详情。

  3. 控制排程数量 例如只允许最多保留未来 N 条(如 20 条),超出的不创建。

  4. 区分“立即通知”和“定时提醒”

    • 立即弹出的本地通知一般不会触发这个“reminder 数量上限”
    • 只有“定时/日历式提醒”更容易触发 1700002

“要实现系统通知”还需要什么?

  • 需要用户授权通知权限(系统设置里允许你发通知)
  • 正确创建通知渠道/配置(不同系统/适配层实现略有差异)

在HarmonyOS Next上使用flutter_local_notifications需要插件版本支持鸿蒙平台。当前官方插件不直接适配,需修改平台通道代码对接鸿蒙通知服务(如@ohos.notificationManager)。初始化时需注册鸿蒙端的MethodChannel实现,权限需在module.json5中配置ohos.permission.NOTIFICATION_CONTROLLER。代码逻辑与Android/iOS不同,需自行桥接。

在HarmonyOS Next 上使用 flutter_local_notifications 发送本地通知不需要在 AGC 申请,但必须在应用中申请 ohos.permission.NOTIFICATION_CONTROLLER 等通知权限。

报错 code:1700002 表示当前应用在系统中的活跃通知数量已达到上限(通常为 24 条未读通知),这是鸿蒙为保护用户体验设置的系统级限制,不是 AGC 或云端的问题。
解决方法:对已发布的通知及时调用取消接口,或使用同一通知 ID 更新、合并通知,避免通知堆积超限。

回到顶部