HarmonyOS鸿蒙Next中代理提醒发布提醒报错1700002,但是我已经申请了代理提醒权限

HarmonyOS鸿蒙Next中代理提醒发布提醒报错1700002,但是我已经申请了代理提醒权限 已经在AppGalleryConnect申请了发布代理提醒的权限。同时,我也在module.json5中标识了我的权限。但是尝试发送代理提醒时仍然报错1700002。同时尝试通过getValidRemindersAPI获取所有可用的提醒,但是显示数组长度为0。

cke_196.png

权限申请如下

{
  "name": "ohos.permission.PUBLISH_AGENT_REMINDER",
  "reason": "$string:publish_reminder_reason",
  "usedScene": {"when": "always"}
}

调用的代码如下

console.info("Start cancelAllReminders...");

reminderAgentManager.cancelAllReminders((err: BusinessError) => {
  if (err) {
    console.error("cancelAllReminders failed code:" + err.code + " message:" + err.message);
    return;
  }

  console.info("cancelAllReminders callback success. Waiting for quota release...");

  setTimeout(() => {
    console.info("Delay finished, start publishing...");

    let timer: reminderAgentManager.ReminderRequestTimer = {
      reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER,
      triggerTimeInSeconds: 10
    }

    reminderAgentManager.publishReminder(timer, (err: BusinessError, reminderId: number) => {
      if (err) {
        console.error("publishReminder failed code:" + err.code + " message:" + err.message);
      } else {
        console.info("publishReminder success, reminderId = " + reminderId);
      }

      reminderAgentManager.getValidReminders().then((reminders) => {
        console.info("getValidReminders length = " + reminders.length);
      });
    });
  }, 1000);
});

程序LOG输出:

A03D00/com.ari...adliner/JSAPP  I     Start cancelAllReminders...
C03919/com.ari...InputTracking  I     [(100000:100000:scope)] Consumed id:1155, last id:1154
C04213/com.arit...InputKeyFlow  I     ConsumePointerEventInner: InputId:1155,wid:40,pointId:0,srcType:2,rect:[0,0,1256,2760],notify:1
C01203/com.arit...ANS_REMINDER  I     CancelAll napi_create_async_work start
A03D00/com.ari...adliner/JSAPP  I     cancelAllReminders callback success. Waiting for quota release...
C02504/com.ari...ner/thp_extra  I     ThpExtraRunCommand[164]ver:5.0.10 ThpExtraRunCommand, cmd:THP_UpdateViewsLocation, param:thp#Location#56,154,196,294
A03D00/com.ari...adliner/JSAPP  I     Delay finished, start publishing...
C01203/com.arit...ANS_REMINDER  E     This application is not system-app, can not use system-api
C01203/com.arit...ANS_REMINDER  E     Does not have argument type:tapDismissed.
C01203/com.arit...ANS_REMINDER  I     Publish napi_create_async_work start
C03900/com.ari...rAgentService  E     [nodict]Read result failed, code is: 1.
C01203/com.arit...ANS_REMINDER  I     Publish napi_create_async_work complete start
A03D00/com.ari...adliner/JSAPP  E     publishReminder failed code:1700002 message:The number of reminders exceeds the limit.
C01203/com.arit...ANS_REMINDER  I     Publish napi_create_async_work complete end
C01203/com.arit...ANS_REMINDER  I     GetValid reminders napi_create_async_work start
A03D00/com.ari...adliner/JSAPP  I     getValidReminders length = 0

更多关于HarmonyOS鸿蒙Next中代理提醒发布提醒报错1700002,但是我已经申请了代理提醒权限的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

使用的模拟器还是真机,真机一般没问题

更多关于HarmonyOS鸿蒙Next中代理提醒发布提醒报错1700002,但是我已经申请了代理提醒权限的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


我用的真机诶,后面发现是没更新profile导致的,

开发者你好,请问当前问题已经解决了是嘛,

嗯对的,

在HarmonyOS Next中,代理提醒权限需在module.json5文件中配置ohos.permission.PUBLISH_AGENT_REMINDER权限,并在应用首次启动时通过requestPermissionsFromUser动态申请。错误码1700002通常表示权限未授权或配置不正确。请检查权限是否已正确声明并完成用户授权流程。

错误码1700002表示提醒数量超过限制。从日志看,cancelAllReminders调用成功,但随后发布提醒时系统仍提示超限,且getValidReminders返回空数组。这通常表明系统配额未立即释放或存在缓存延迟。

请检查以下几点:

  1. 配额限制:系统对每个应用有提醒总数上限(通常为30个)。cancelAllReminders是异步操作,日志显示操作已提交,但配额释放可能需要更长时间。建议增加setTimeout延迟(例如5000毫秒)再尝试发布。
  2. 权限配置:确保module.json5中权限声明与AGC申请一致,且应用已签名安装。权限字段应为:
"requestPermissions": [
  {
    "name": "ohos.permission.PUBLISH_AGENT_REMINDER"
  }
]
  1. 系统应用标识:日志中“This application is not system-app, can not use system-api”是无关警告,可忽略。重点在于“Read result failed, code is: 1”,这表示系统读取配额状态失败。
  2. 设备重启:若多次测试后问题仍存,可尝试重启设备清除系统缓存。

建议先延长延迟时间测试。若问题持续,请检查设备系统版本是否为HarmonyOS Next最新版,并确认其他应用是否占用了提醒配额。

回到顶部