收藏
回答

蓝牙连接成功后,BLEConnectionStateChange返回false, 连接断开?

使用微信小程序开发工具,进行蓝牙小程序编写,蓝牙品牌为PW03,正常连接后,在后面的随机时间内(5到30秒),如果没有使用API发送数据(有时候使用过程中也会出现),onBLEConnectionStateChange就会触发,报告连接错误,编译器基础库为2.23.0,手机版本MIUI12.0.9,微信版本号8.0.22。代码如下;

连接代码

wx.createBLEConnection

wx.getBLEDeviceCharacteristics

监听连接变化的代码

wx.onBLEConnectionStateChange(function (res) {

     wx.showModal({

        title: '提示',

        showCancel: false,

        content: '连接意外断开:' + 'device state has changed:' + res.deviceId + '|' + 'connected:' + res.connected,

        success: function (res) {

          if (res.confirm{           

            return;

          }

        }

      })

    })

其中 res.connected返回false

此前开发并上线了四个蓝牙小程序产品,从未出现此类现象,此蓝牙品牌是第一次使用,但无论如何调试,只要没有调用蓝牙API发送命令,甚至有时候刚刚调用发送命令,都会出现该现象。

流程如下

使用 wx.createBLEConnection 和 wx.getBLEDeviceCharacteristics 执行连接蓝牙模块成功后,任何其他操作都不做,在一个随机时间内(5到30秒),小程序会自动触发wx.onBLEConnectionStateChange函数。从测试来看,似乎是因为蓝牙PW03断开后导致触发wx.onBLEConnectionStateChange,但目前没有证据证实这个。 盼官方给予相关技术支持。



最后一次编辑于  2022-05-18
回答关注问题邀请回答
收藏

1 个回答

  • Demons
    Demons
    2022-05-17

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2022-05-17
    有用
    回复
登录 后发表内容