【发布时间】:2020-09-13 09:36:21
【问题描述】:
我正在尝试使用华为推送工具包,更新HMS后尝试发送上游数据时出现以下错误。
一些配置:
- 设备:Samsung Galaxy A40 + HMS Core已安装
5.0.2.301图书馆:
implementation("com.huawei.hms:push:5.0.2.300")implementation("com.huawei.agconnect:agconnect-core:1.4.1.300")AGConnect:
classpath 'com.huawei.agconnect:agcp:1.4.1.300'
调用代码:
val messaging = HmsMessaging.getInstance(this.applicationContext)
messaging.send(
RemoteMessage.Builder("push.hcm.upstream")
.setMessageId("Message#${System.currentTimeMillis()}")
.setData(data)
.build()
)
导致此错误:
java.lang.UnsupportedOperationException: push kit initializing, try again later
at com.huawei.hms.push.HmsMessaging.a(HmsMessaging.java:212)
at com.huawei.hms.push.HmsMessaging.send(HmsMessaging.java:204)
at ir.malv.plusdependencytest.MainActivity$initializeListStuff$1$15.invoke(MainActivity.kt:355) // related to the code I called
at ir.malv.plusdependencytest.MainActivity$initializeListStuff$1$15.invoke(MainActivity.kt:43)
at ir.malv.plusdependencytest.UtilsKt$input$2.onClick(Utils.kt:47)
at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7948)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
它只是保持“初始化”。
注意该库曾经使用旧版本的HMS核心,因此非华为手机或推送进程都不是原因。 p>
【问题讨论】:
-
请提供详细的日志,只有一条错误信息是不够的。 1. 错误是否偶尔或不可避免地抛出? 2、代码是否有自动初始化配置? 3、你能拿到token吗?
-
@shirley 感谢您的回复。通过进一步测试,我意识到使用较低版本的 HMS (5.0.0.304) 解决了该问题。 -- 但是在最新版本中,该错误总是发生,并且没有特定的情况。并且使用 manifest config 启用了
auto_init。 -
可以通过HMS Core Push SDK的自动初始化能力获取token吗?我们正在尝试解决问题,但未能申请令牌。
-
恐怕不行。代码
getToken使用HmsInstanceId只是等待 并没有达到令牌的返回。此外,也不会向onNewToken或HmsMessaging发送令牌。 -
@shirley 我又更新了HMS核心。问题似乎已解决,并获得了令牌。知道会发生什么吗?
标签: android huawei-mobile-services huawei-developers huawei-push-notification