收藏
回答

低功耗蓝牙跨页面如何监听数据变化?

首页使用低功耗蓝牙模块连接硬件,然后设置了wx.onBLECharacteristicValueChange来监听数据变更。然后我需要跳转其他页面,其他页面也需要监听数据变更。这种需求下,我在首页跳转页面时调用了wx.offBLEConnectionStateChange,然后新页面使用了wx.onBLECharacteristicValueChange,然后问题就出现了,新页面无法监听一直发送的蓝牙数据,我返回了首页就发现可以接收到一直发送的蓝牙数据。总的来说就是,新页面无法接收一直发送的蓝牙数据,不知道是不是被首页抢了!最后请问跨页面进行蓝牙监听如何实现?

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

3 个回答

  • 戒不掉烟不改名
    戒不掉烟不改名
    2023-03-14

    您好 请问这个问题解决了么?

    2023-03-14
    有用
    回复
  • 东厂锦衣卫辉太狼
    东厂锦衣卫辉太狼
    2022-10-14

    问题更新:已经做了连接蓝牙等功能放在app.js,但是还是出现这种场景,跳转的子页面一旦下发数据,就只能收到一条数据,下发一次接收一次;从而导致无法监听一直上发的数据

    2022-10-14
    有用
    回复
  • 张业贵
    张业贵
    发表于小程序端
    2022-10-13

    注册监听都放在app里,增加一个回调函数。需要监听的页面,load注册回调函数,unload卸载回调函数。启动的页面,启动监听。

    2022-10-13
    有用
    回复 3
    • 东厂锦衣卫辉太狼
      东厂锦衣卫辉太狼
      2022-10-14
      感谢回答!我一会尝试下,另外想问下“unload卸载回调函数”说的是比如调用wx.offBLEConnectionStateChange方法来取消监听吗?
      2022-10-14
      回复
    • 张业贵
      张业贵
      2022-10-14
      把蓝牙的注册、监听和关闭函数都写在app中,把监听回调的增加和删除写在app中。在打开蓝牙的页面,在load中调用app的蓝牙打开。在监听蓝牙的页面,在load中注册回调,在unload中反注册回调。
      2022-10-14
      回复
    • 东厂锦衣卫辉太狼
      东厂锦衣卫辉太狼
      2022-10-14
      刚试过了,不行,跳转的页面还是无法监听到数据变更,你这个“在unload中反注册回调”有例子吗?
      2022-10-14
      回复
登录 后发表内容