HarmonyOS鸿蒙Next中添加一个信息推送功能,在模拟器上没有问题,但是在真机上测试报错错误码1700002,怎么解决啊
HarmonyOS鸿蒙Next中添加一个信息推送功能,在模拟器上没有问题,但是在真机上测试报错错误码1700002,怎么解决啊 【问题描述】:添加一个信息推送功能,在模拟器上没有问题,但是在真机上测试报错错误码1700002,怎么解决;我们通过错误码排查了一下;权限也开通了,没有什么数量超出限制
【问题现象】:



【版本信息】:
模拟器用的6.0的测试没问题
真机5.0.5测试有问题
更多关于HarmonyOS鸿蒙Next中添加一个信息推送功能,在模拟器上没有问题,但是在真机上测试报错错误码1700002,怎么解决啊的实战教程也可以访问 https://www.itying.com/category-93-b0.html
【解决方案】
开发者你好,当调用发布提醒接口时,提醒数量超出最大限制,可能原因和解决方案如下:
可能原因:
- 因管控限制,普通应用如果没有代理提醒的使用权限,提醒数量为0。
- 单个普通应用提醒数量不超过30个。
- 从API version10开始,所有应用提醒数量总和不超过12000个。API version 9及之前的版本,提醒数量总和不超过2000个。(有可能是开发者测试设备上应用比较多,提醒也比较多超出了这个限制,开发者可以更换一台测试设备试下)。
解决方案:
- 确认是否通过邮件形式申请了代理提醒使用权限。
- 权限申请通过后,在项目modlue.json5中配置权限声明:“requestPermissions”: [ { “name”: “ohos.permission.PUBLISH_AGENT_REMINDER”, “usedScene”: {“when”: “always”} } ]
- 按照开发指南,检查包名是否使用邮件申请权限的包名,检查提醒数量是否超过规定数量,及时删除不必要的提醒。
更多关于HarmonyOS鸿蒙Next中添加一个信息推送功能,在模拟器上没有问题,但是在真机上测试报错错误码1700002,怎么解决啊的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
大佬为啥使用我申请“推送服务(Push Kit)”在模拟机上可以弹出消息,却不能在真机弹出消息用真机就报1700002。
老师为啥使用我申请“推送服务(Push Kit)”在模拟机上可以弹出消息,却不能在真机弹出消息用真机就报1700002
开发者你好,请确认下包名是否使用邮件申请权限的包名,由于权限管控单个应用提醒数量不超过30个,所有应用提醒数量总和不超过12000个,开发者可以更换一台设备试下,,如果开发者设备机型不足也可以使用云调试看下是否可以成功推送(https://developer.huawei.com/consumer/cn/doc/AppGallery-connect-Guides/agc-clouddebug-introduction-0000001057034023),
背景知识:
当调用发布提醒接口时,提醒数量超出最大限制。

问题解决:
模拟器和真机的环境一样,检测机制不一样。如果模拟器上可以收到那么在模拟器上调试完成后再来真机上调试,但是真机需要开通申请了代理提醒的使用权限。
期待HarmonyOS能在未来带来更多创新的技术和理念。
检查下是不是超限了。
错误码信息是这个意思:

文档地址:reminderAgentManager错误码-错误码-Background Tasks Kit(后台任务开发服务)-应用框架 - 华为HarmonyOS开发者 (huawei.com)
但提醒数量为0,
错误码1700002通常表示推送服务配置问题。检查真机上的应用签名是否与AGC平台配置一致,确保推送证书已正确上传。验证设备网络连接是否正常,以及是否已开启推送权限。确认HarmonyOS版本支持推送服务,并检查代码中是否使用了正确的BundleName。
错误码1700002通常表示“未找到推送服务”。根据您提供的版本信息(模拟器6.0正常,真机5.0.5异常),核心问题在于真机系统版本不支持HarmonyOS Next的推送服务。
HarmonyOS Next的推送服务(Push Kit)对系统版本有明确要求。该服务依赖于HarmonyOS Next及以上版本的系统框架。您的真机系统版本为5.0.5,这属于HarmonyOS 4.x或更早的版本架构,其系统底层并未集成HarmonyOS Next的Push Kit服务实现,因此应用在调用相关API时会返回“服务未找到”的错误。
解决方案如下:
- 升级真机系统:将测试真机的系统升级至HarmonyOS Next的开发者Beta版或正式版。这是解决此问题的根本方法。HarmonyOS Next的推送功能需要运行在对应版本的系统上。
- 检查编译目标:确保您的应用项目
module.json5文件中compileSdkVersion和compatibleSdkVersion设置正确,目标版本至少为HarmonyOS Next的API版本。 - 运行时版本检查:在调用推送功能前,加入系统版本判断逻辑。如果检测到设备系统版本低于HarmonyOS Next,应降级使用其他通知方式(如本地通知)或提示用户升级系统。
代码示例(版本检查):
import { ohos } from '@kit.ArkTS';
import { push } from '@kit.PushKit';
let systemVersion = parseInt(ohos.system.version.split('.')[0]); // 获取主版本号
if (systemVersion >= 6) { // HarmonyOS Next 主版本号为6
// 调用Push Kit API
push.getPushToken().then(...);
} else {
// 降级方案:使用@ohos.notificationManager发布本地通知
console.error('当前系统版本不支持Push Kit,请使用本地通知或升级系统。');
}
总结:此问题非代码或权限配置错误,是真机系统版本与HarmonyOS Next SDK不兼容导致的。请使用HarmonyOS Next版本的设备进行真机测试。

