小程序中,无论是把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就无法收到宿主发来的事件
5***@qq.com (作者)
你这跟我遇到的问题不是一回事啊
2022-01-12 16:24
鹅鹅鹅鹅
回复 5***@qq.com: 噢看错了,你的是接收app事件,不是跨页面
2022-01-12 17:36