收藏
回答

closeBluetoothAdapter关闭成功后再次初始化蓝牙导致搜索不到设备

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug closeBluetoothAdapter 微信安卓客户端 7.0.16 2.9.5



刷新蓝牙设备:按钮会触发init()事件,init事件执行步骤:关闭蓝牙释放资源=>初始化蓝牙适配器=>开始搜索.

BUG复现:小程序打开后扫码跳转页面第一次搜索蓝牙设备瞬间搜索完毕,往后每次重复扫码跳转第一次或前几次都无法搜索到蓝牙设备,如果搜索到设备后,点击刷新按钮每次又能搜索到设备

BUG=>蓝牙在初始化完毕的情况下,跳转页面释放资源后再次初始化搜索啥都搜不到

import {ble} from "./ble.js";

data:{
  // 搜到的设备
  devices:[]
},


onLoad() {
  wx.offBluetoothDeviceFound()
  wx.onBluetoothDeviceFound(res => {
      this.setData({devices: this.data.devices.concat(res.devices)})
  })
  this.init()
},

// 初始化蓝牙并搜素
init() {
  // 先关闭蓝牙释放资源
  ble.close().then(() => {
    // 打开初始化蓝牙
    return ble.open()
  }).then(() => {
    // 清空设备数组并开始搜素设备
    this.data.devices = []
    // 开始搜索蓝牙设备
    return ble.startSearch()
   })
}

// ble.js ====================================
export const ble = {
    // 初始化蓝牙模块
    open() {
      return new Promise((resolve, reject) => {
        wx.openBluetoothAdapter({success: resolve, fail: reject})
      })
    },
    
    // 关闭蓝牙模块
    close() {
      return new Promise((resolve, reject) => {
        wx.closeBluetoothAdapter({success: resolve, fail: reject})
      })
    },
    
    // 开始搜索蓝牙设备
    startSearch() {
      return new Promise((resolve, reject) => {
        wx.startBluetoothDevicesDiscovery({
          success: resolve,
          fail: reject,
        })
      })
    },
}
回答关注问题邀请回答
收藏

3 个回答

  • 哈哈怪
    哈哈怪
    2022-01-22

    解决了吗?我也遇到这个问题了,close后open都不成功

    2022-01-22
    有用
    回复 2
    • break
      break
      2022-08-08
      大佬你有解决吗?我现在出现了多次开启关闭后搜索不到蓝牙设备
      2022-08-08
      回复
    • 大海的蚂蚱
      大海的蚂蚱
      2022-08-11
      啊  解决了吗  我遇到勒
      2022-08-11
      回复
  • 阿Jack
    阿Jack
    2021-06-02

    我也遇到了,在前一个页面调用wx.closeBluetoothAdapter后,在另外一个页面调用wx.openBluetoothAdapter和wx.startBluetoothDevicesDiscovery会搜索不出蓝牙设备来

    2021-06-02
    有用
    回复 2
  • 疯狂的小辣椒
    疯狂的小辣椒
    2020-07-20

    你好,麻烦具体描述问题流程,提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html麻烦再重现一次,在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,提供一下微信号,复现问题的详细时间点(如:2020-4-10 10:10)

    2020-07-20
    有用
    回复 4
    • 空巷
      空巷
      2020-12-21
      处理了吗?ios好像也不行,也会断开后就搜索不到
      2020-12-21
      回复
    • ther
      ther
      2021-01-09
      bug是真多
      2021-01-09
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2021-01-11回复ther
      遇到问题麻烦单独发帖反馈下,方便问题跟进。
      2021-01-11
      回复
    • Rebirth
      Rebirth
      2022-11-16回复空巷
      兄弟解决了吗?
      2022-11-16
      回复
登录 后发表内容
问题标签