uniapp中,如何在别的页面收到onBLECharacteristicValueChange返回的信息?

我在二级页面连接了蓝牙(在其他的页面连接蓝牙),
然后需要在首页显示onBLECharacteristicValueChange监听返回的信息,
但是目前只能在这个二级页面收到监听。

而回到主页后就不行了,把这个监听放在主页的onLoad也没用,或者监听放在二级页面但回主页后也收不到消息,,
请问下大神们要怎么操作

这个api的文档地址:https://uniapp.dcloud.net.cn/api/system/ble.html#onblecharact...

小弟在这里先感谢各位大神们,感激不尽,祝大神们发财祝大神们取漂亮老婆

阅读 2.9k
1 个回答

提供一个曲线解决的方案
既然在二级页面可以监听到,可以使用全局事件总线(EventBus)或vuex来实现在不同页面之间传递数据。
在BLE连接成功后,触发onBLECharacteristicValueChange事件并传递数据:

// 在BLECharacteristicValueChange回调函数中
this.$eventBus.$emit('valueChange', data);

在其他需要接收数据的页面中,监听valueChange事件:

// 在其他页面的created或mounted生命周期中

this.$eventBus.$on('valueChange', (data) => {
  // 处理接收到的数据
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏