问题描述
我正在尝试使用华为推包,并且在更新HMS之后,尝试发送上游数据时引发了以下错误。
一些配置:
- 设备:安装了
的 Samsung galaxy A40 + HMS Core5.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核心的早期版本一起使用,因此,没有华为的Phone或Push进程都可能是原因。
解决方法
问题似乎是由于 IP限制引起的,并且在最新版本的Hms-Core
之后得到了解决。