收藏
回答

createBLEConnection连接设备A的过程中,立即断开去连接设备B,部分手机无法成功?

createBLEConnection连接设备A的过程中,立即断开去连接设备B,部分手机无法成功

启动一个实例

(0S)wx.openBluetoothAdapter ---(timeout:10S) wx.createBLEConnection(连接A) -- (5S)wx.closeBLEConnection


(7S) wx.openBluetoothAdapter --- (timeout:10S) wx.createBLEConnection(连接B) -- (12S) wx.closeBLEConnection


列表中有两个低功耗设备,连接A的过程中,发现连错了,立即关闭 ,5s后重新启动去连接设备B,发现部分手机型号无法成功。

如果连接A的过程中,发现连错了,立即关闭。等 30S以上,再重启启动连接设备B,都可以成功。。


想知道如果用户连接A的过程中,立马返回,去连其他设备,该如何操作才能成功呢?


代码片段:

https://developers.weixin.qq.com/s/xtkcxymM7Ulj



F2__5 是不存在的设备,A004 是一直广播的设备


操作步骤1、开始扫描,停止扫描, 连接 F2__5 , 结束流程 。不操作,20s后能收到

createBLEConnection fail 回调。 连接失败



操作步骤2、开始扫描,停止扫描, 连接 F2__5 , 结束流程 。开始扫描,停止扫描,连接 A004 ,连接失败



操作步骤3、开始扫描,停止扫描, 连接 F2__5 , 结束流程 。开始扫描,停止扫描,连接 A004 ,连接失败 连接失败,结束流程。。等10s左右,再开始扫描,停止扫描,连接A004,连接成功

微信版本 Version 7.0.19
手机: OPPO R11S 安卓9

微信版本:7.0.15
手机: HUAWEI Mate 20 X 安卓9

在原生APP该两台手机是可以正常操作的,但是微信小程序都失败了。

如果说连接设备A的过程中,用户关闭立马去连接设备B,该场景还是常见的,官方能否帮忙解决?

最后一次编辑于  11-03
回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-CJiang
    社区技术运营专员-CJiang
    11-02

    你好,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点(具体到分钟)。

    11-02
    有用
    回复 13
    • 同步
      同步
      11-03
      时间 2020.11.03 09:04 - 2020.11.03 09:09,日志已上传。
      微信号 : Andy__liang
      复现机型:
      微信版本 Version 7.0.19
      手机: OPPO R11S 安卓9
      补充,如果我连断电设备A的过程中,(START - CONNECT -CLOSE)
      立即返回去连接一直广播中的设备B,设备B百分百失败。。。若要想B成功。
      可以在连接B的过程中,将A上电。。。这个时候B就连接发送指令成功了。
      复现很不容易,剥离代码片段也不容易。希望能收到答复,谢谢。
      部分日志

      openBluetoothAdapter res=> {errMsg: "openBluetoothAdapter:ok"}
      bluetooth.js:550 createBLEConnection err,useTime=> {errCode: 10012, errMsg: "createBLEConnection:fail:operate time out"}


      createBLEConnection err,useTime=> {errCode: 10012, errMsg: "createBLEConnection:fail:operate time out"}

      writeBLECharacteristicValue success writeBLECharacteristicValue:ok

      CLOSE



      openBluetoothAdapter res=> {errMsg: "openBluetoothAdapter:ok"}
      createBLEConnection err,useTime=> {errCode: 10003, errMsg: "createBLEConnection:fail:connection fail status:133"} 1 true
      连接异常销毁 res=> {errMsg: "closeBluetoothAdapter:ok"}

      openBluetoothAdapter res=> {errMsg: "openBluetoothAdapter:ok"}
      11-03
      回复
    • 同步
      同步
      11-03
      小米,苹果这样操作正常,三星这样操作的过程中,有时候会在连接B的过程中收到133回复,但是因为 133 是连接设备A时间到了返回的回调,可以标记,让三星连接B规定超时时间范围的过程中忽略133错误,重新连接一次,也是可以的
      11-03
      回复
    • 社区技术运营专员-CJiang
      社区技术运营专员-CJiang
      11-10回复同步
      1、先试试 不使用真机调试(直接预览开发版)的情况下通过 closeBLEConnection(而非closeBluetoothAdapter)去断开连接 2. 上面提到原生App没有问题,具体是什么App?
      11-10
      回复
    • 同步
      同步
      11-10回复社区技术运营专员-CJiang
      连接设备A的过程中,并没有真正连上,调用closeBLEConnection断开与A的连接,返回参数 fail createBLEConnection err,useTime=> {errCode: 10012, errMsg: "createBLEConnection:fail:operate time out"}  false 


      操作步骤:
      连接设备 A ( openBluetoothAdapter - createBLEConnection - closeBLEConnection)


      再连接B  ( openBluetoothAdapter - createBLEConnection - closeBLEConnection - closeBluetoothAdapter:ok ) 仍然失败.






      原生APP是我们内部开发人员开发的,你也可以自己下载蓝牙调试APP尝试。
      11-10
      回复
    • 同步
      同步
      11-10回复社区技术运营专员-CJiang
      复现代码片段
      :https://developers.weixin.qq.com/s/RuxxVKmb7ile


      因为例中的 蓝牙名称和 地址都是写死的,具体的值需要官方使用蓝牙示例,搜索拿到,写入
      dataList 中,麻烦尝试下
      11-10
      回复
    查看更多(8)
登录 后发表内容
问题标签