HarmonyOS鸿蒙Next中已经获批了权限,仍然无法使用代理提醒

HarmonyOS鸿蒙Next中已经获批了权限,仍然无法使用代理提醒 已经通AGC申请了权限,申请已经通过。在AGC中可以看到已对应用开放了代理提醒能力。也更新了调试证书和调试profile,并进行了手动签名。

但在发送代理提醒通知时仍然收到如下错误:
[reminder_common.cpp(IsSelfSystemApp:127)]This application is not system-app, can not use system-api

Code: 1700002, message: The number of reminders exceeds the limit.

调用getValidReminders接口返回GetValid reminders count = 0,因为未成功设置任务代理提醒所有有效提醒是0

在论坛看到有遇到类似问题的,但没有看到解决方法。求大佬指导


更多关于HarmonyOS鸿蒙Next中已经获批了权限,仍然无法使用代理提醒的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

是模拟器的问题,用6.0 Beta5的模拟器没这个问题,5.1.1的模拟器会提示之前说的错误

更多关于HarmonyOS鸿蒙Next中已经获批了权限,仍然无法使用代理提醒的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


当调用发布提醒接口时,提醒数量超出最大限制,可能原因和解决方案如下:

可能原因:

  • 因管控限制,普通应用如果没有代理提醒的使用权限,提醒数量为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中,即使权限已获批,代理提醒功能仍可能因系统权限管理机制限制而无法使用。需检查是否已正确配置代理服务并绑定至相应系统事件。部分情况下,系统可能对后台代理服务有严格的生命周期控制,导致权限生效延迟或服务被终止。建议通过DevEco Studio的日志工具排查代理服务状态及系统事件触发记录,确认是否存在权限冲突或配置异常。

根据错误信息分析,问题可能出在以下几个方面:

  1. 系统应用权限问题
    日志显示 This application is not system-app, can not use system-api,说明代理提醒功能需要系统级应用权限。即使AGC中已授权,但可能未正确配置为系统应用。请检查以下配置:

    • module.json5 中确认已声明 ohos.permission.PUBLISH_AGENT_REMINDER 权限
    • 检查应用是否为系统预置应用,非系统应用可能无法调用代理提醒的系统API
  2. 签名与证书问题

    • 确保调试证书与设备的系统版本匹配
    • 验证手动签名时使用的证书是否与AGC中申请的权限一致
    • 尝试清理应用数据并重新安装签名后的应用
  3. 提醒数量限制逻辑
    错误码 1700002 表明提醒数量超限。建议:

    • 先调用 getValidReminders 确认当前有效提醒数量
    • 若存在历史提醒记录,尝试通过 cancelReminder 清理后再测试新提醒
  4. 代理提醒配置验证

    • 检查 ReminderRequest 对象中的代理提醒参数(如scheduledDateTime)是否设置正确
    • 确认通知权限 ohos.permission.NOTIFICATION 已开启

建议按顺序排查:先确认系统应用权限配置,再验证签名一致性,最后检查代理提醒的业务逻辑实现。

回到顶部