使用微信小程序开发工具,进行蓝牙小程序编写,蓝牙品牌为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,但目前没有证据证实这个。 盼官方给予相关技术支持。
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。