5***@qq.com
5***@qq.com
  • 发布:2022-01-12 12:24
  • 更新:2023-04-24 13:01
  • 阅读:1581

uni.onNativeEventReceive无法接收到宿主APP发来的事件

分类:uni小程序sdk
wgt

小程序中,无论是把uni.onNativeEventReceive放到app.vue的onlaunch还是放到页面的onload和onshow,都无法接收到宿主app发来的事件
小程序代码(App.vue):
onLaunch: function() {
console.warn('当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!')
console.log('App Launch')
uni.onNativeEventReceive((event,data)=>{
console.log('接收到宿主App消息:' + event + data);
let ousideEvent = '接收到宿主App消息 event:' + event + " data: " + data;
uni.$emit('outsideMessage', ousideEvent)
})

    }  

宿主APP代码:(已弃用的DCUniMPSDKEngine.sendUniMPEvent方式和instance.sendUniMPEvent方式都尝试了,小程序都收不到事件)
Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { [weak self] _ in
guard let strongSelf = self else { return }
guard let instance = strongSelf.instance else { return }
instance.sendUniMPEvent("event outside", data: "消息消息消息")
DCUniMPSDKEngine.sendUniMPEvent("event outside", data: "消息消息消息")
}

补充:
使用官方的demo,https://github.com/dcloudio/UniMPExample/tree/146c87707e74bbdafcc56b606bde45116759e96c

使用Vue2打包出来的wgt没有问题,使用Vue3打包出来的wgt就无法收到宿主发来的事件

2022-01-12 12:24 负责人:无 分享
已邀请:
鹅鹅鹅鹅

鹅鹅鹅鹅

看这个解决方案,https://ask.dcloud.net.cn/article/39591

  • 5***@qq.com (作者)

    你这跟我遇到的问题不是一回事啊

    2022-01-12 16:24

  • 鹅鹅鹅鹅

    回复 5***@qq.com: 噢看错了,你的是接收app事件,不是跨页面

    2022-01-12 17:36

蚂蚁

蚂蚁

uni.onNativeEventReceive 我也遇到了,后来作者是咋解决的?

  • 5***@qq.com (作者)

    后来我就不用了,弃坑保平安

    2022-05-26 19:03

  • 2***@qq.com

    兄弟 我现在也遇到了 你的解决了嘛?

    2022-08-31 10:55

1***@qq.com

1***@qq.com - 专属浅喜

可以了吗 兄弟

9***@qq.com

9***@qq.com

这个后面有解决吗?

要回复问题请先登录注册