收藏
回答

蓝牙断开连接之后,立即调用关闭蓝牙模块,iOS收不到 连接状态的改变事件

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug closeBluetoothAdapter 客户端 iOS 6.6.7 2.0.9
bleConnectUtils.unmount = function(cb) {
  if (deviceId) {
    wx.closeBLEConnection({
      deviceId: deviceId,
      complete (e) {
        console.log('closeBLEConnection complete', e)
        setTimeout(() => {
          wx.closeBluetoothAdapter({
            complete (e) {
          // 如果 关闭了。那么就没有回调了
              cb && cb()
            }
          })
        }, 200)
      }
    })
    bleConnectUtils.resetData()
  } else {
    console.log('没有连接过也调用关闭')
    cb && cb()
  }
}


如果没有上面的 setTimeout() 方法,那么就收不到


wx.onBLEConnectionStateChange


iOS 不行,安卓可以,iOS试了 10 和 11.4


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

2 个回答

  • 许力鹏
    许力鹏
    2018-07-02

    确实,wx.onBLEConnectionStateChange在蓝牙适配器开启的情况下起作用(IOS)。

    而在安卓上关了适配器还是可以监听到连接状态。

    2018-07-02
    有用
    回复 1
    • 2018-11-14

      我的ios的可以,安卓的不行。。。安卓的是小米手机6x

      2018-11-14
      回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-06-07

    你好,麻烦提供以下信息: 

    1、能复现问题的代码片段( https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html ) 

    2、出现问题的机型和微信版本号 


    2018-06-07
    有用
    回复
登录 后发表内容