收藏
回答

IPCInovkerTask_SetPushMsgCallback有状态回调吗?

现在遇到的问题是手机向话机端发起通话但是话机端没有反应,话机上面激活成功了,initInvokeToken接口有调用到的;话机能够发出通话,
但是收不到通话邀请,IPCInovkerTask_SetPushMsgCallback接口有调用的,并且会重复调用;请问IPCInovkerTask_SetPushMsgCallback 接口
有是否监听成功的状态回调或者  直接获取推动监听是否 设置成功的 接口吗?谢谢


回答关注问题邀请回答
收藏

1 个回答

  • 高
    2023-09-21

    先确定一下 pushToken 是不是正确。

    https://developers.weixin.qq.com/miniprogram/dev/framework/device/voip/call-wmpf.html

    2023-09-21
    有用
    回复 5
    • 坤仔
      坤仔
      2023-09-21
      在监听后再调用获取pushtoken后能正常接收到通话邀请了,现在发现另外一个问题,wmpf2.0预加载启动小程序每次都是失败的,请帮忙看下,谢谢
        // 预热启动小程序,加快小程序启动
          fun warmLaunch(appId: String): Single<WMPFLaunchWxaAppResponse> {
              return Single.create {
                  val request = WMPFLaunchWxaAppRequest().apply {
                      this.baseRequest = WMPFBaseRequestHelper.checked()
                      this.isForPreWarmLaunch = true
                      this.appId = appId
                  }
                  val result = WMPFIPCInvoker.invokeAsync<IPCInvokerTask_LaunchWxaApp, WMPFLaunchWxaAppRequest, WMPFLaunchWxaAppResponse>(
                      request,
                      IPCInvokerTask_LaunchWxaApp::class.java,
                      object : IPCInvokeCallbackEx<WMPFLaunchWxaAppResponse> {
                          override fun onCallback(response: WMPFLaunchWxaAppResponse) {
                              if (isSuccess(response)) {
                                  it.onSuccess(response)
                              } else {
                                  it.onError(TaskErrorException(createTaskError(response)))
                              }
                          }
                          override fun onBridgeNotFound() {
                              it.onError(Exception("bridge not found"))
                          }
                          override fun onCaughtInvokeException(exception: java.lang.Exception?) {
                              if (exception != null) {
                                  it.onError(exception)
                              } else {
                                  it.onError(java.lang.Exception("null"))
                              }
                          }
                      }
                  )
                  if (!result) {
                      it.onError(Exception("invoke warmLaunch fail"))
                  }
              }
          }
      2023-09-21
      回复
    • 晨
      2023-09-21回复坤仔
      失败的具体报错是?
      2023-09-21
      回复
    • 坤仔
      坤仔
      2023-09-22回复
      报错码为:ERR_TASK_REMOTE_SERVICE_DIED;调用launchWxaApp 接口,path后面有加 isPreLaunch=1 的,isForPreWarmLaunch=true 请帮忙看下,谢谢
      2023-09-22
      回复
    • 晨
      2023-09-22回复坤仔
      调 launchWxaApp 附近是否有调过 cloasWxaApp?
      2023-09-22
      回复
    • 坤仔
      坤仔
      2023-09-22回复
      没有了,在应用启动后回去激活wmpf,激活成功后会去预加载,没有调用cloasWxaApp
      2023-09-22
      回复
登录 后发表内容
问题标签