收藏
回答

getBluetoothDevices找不到蓝牙设备

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

在小米手机、OPPO手机、vivo手机、华为手机都会出现这种问题;搜索不到设备;IOS系统不会出现这种问题;已解决: 1.手机蓝牙开启 2.手机GPS开启 3.微信打开定位权限 即可解决getBluetoothDevices的devices=[]问题 经验分享

最后一次编辑于  2019-07-30
回答关注问题邀请回答
收藏

5 个回答

  • KAl 🐛
    KAl 🐛
    2019-07-30

    已解决: 1.手机蓝牙开启 2.手机GPS开启 3.微信打开定位权限 即可解决getBluetoothDevices的devices=[]问题 经验分享


    2019-07-30
    有用 3
    回复
  • 灵芝
    灵芝
    2019-07-30

    你好,请确认一下定位开关 以及 微信定位权限是否打开;另外,可以确认下同一个手机其他app是否有这样子的问题


    2019-07-30
    有用 2
    回复 1
    • KAl 🐛
      KAl 🐛
      2019-07-30
      安卓设置了定位权限问询
      2019-07-30
      回复
  • 海🇨🇳
    海🇨🇳
    2021-12-31

    正常的操作是

    第一步  调用 getBluetoothDevices判断是否有如果有不在开启搜索直接使用这个里面的

    第二步 走正常的搜索逻辑startBluetoothDevicesDiscovery和onBluetoothDeviceFound


    2021-12-31
    有用
    回复
  • SG
    SG
    2020-06-04

    小米 华为未出现此问题; vivo手机出现,用此方案解决了

    2020-06-04
    有用
    回复 1
    • SG
      SG
      2020-06-04
      两台红米手机出现返回为空数组问题了,未解决
      2020-06-04
      回复
  • 木瓜不是瓜
    木瓜不是瓜
    2020-02-04

    按楼主的方法已经开启了手机蓝牙,GPS和定位权限但还是搜索不到设备;

    {errMsg: "getBluetoothDevices:ok", devices: Array(0)}

    红米手机测试,

    button4: function () {

    var that = this;

    //z字符转换

    function ab2hex(buffer) {

    var hexArr = Array.prototype.map.call(

    new Uint8Array(buffer),

    function (bit) {

    return ('00' + bit.toString(16)).slice(-2)

    }

    )

    return hexArr.join('');

    }

    wx.getBluetoothDevices({

    success: function (res) {

    console.log(res)

    if (res.devices[0]) {

    console.log(ab2hex(res.devices[0].advertisData))

    }

    if (res.devices.length == 0) {

    that.setData({

    msg: "未发现设备"

    })

    }

    }

    })

    }



    2020-02-04
    有用
    回复 1
    • 北*极*星
      北*极*星
      2020-03-13
      小米mix2情况一样
      2020-03-13
      回复
登录 后发表内容