收藏
回答

wx.getBluetoothDevices返回的name是“未知设备”

现象如下:

用下面的代码,在从来没有扫描过本小程序的iOS上,扫描进入,调用对应代码,会打印出一系列的:

             扫到的:未知设备

              扫到的:未知设备

              扫到的:未知设备

              扫到的:未知设备

而关闭系统蓝牙再打开,再扫,还是如此。

而将微信后台清掉,再进入微信,进入本小程序,再扫,每个设备的名字就准确的扫描出来了。之后,就都能准确扫到了。

使用新的iOS手机能复现。



代码片段如下:


wx.startBluetoothDevicesDiscovery({

      services: ['FFE5'], // 只搜索含有FFE5主服务的uuid

      allowDuplicatesKey: false,

      interval: 100,

      success: function (res) {

        console.log('开启BLE发现服务成功')

        that.DeviceScanInterval(operType)

      },

      fail: function (res) {

      }

    })


  DeviceScanInterval: function (operType) {

      wx.getBluetoothDevices({

        success: function (res) {

          console.log('在寻找设备:' + that.data.DeviceId)

          that.data.signalStrength = 0

          var i = 0

          for (; i < res.devices.length; i++) {

            console.log('扫到的:' + res.devices[i].name)

            if (res.devices[i].name == that.data.DeviceId) {

              console.log('已搜索到指定设备')

              //-------------停止蓝牙BLE扫描------------------

              wx.stopBluetoothDevicesDiscovery({

                complete: function () {

                  }

                },

              })

              break

            }

          }

        },

        fail: function (res) {

          console.log(res)

          that.data.signalStrength = 0

        },

      })

}


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

3 个回答

  • 铭
    2022-09-27

    如何过滤掉这些未知设备,只搜索出来我需要的设备

    2022-09-27
    有用
    回复
  • 高小露
    高小露
    2020-04-24

    怎么解决的 全是未知设备

    2020-04-24
    有用
    回复
  • Darian
    Darian
    2018-05-30

    你好这问题解决了没有,还有就是有时候名字为空,什么都不显示

    2018-05-30
    有用
    回复 1
    • SA
      SA
      2018-05-30

      似乎没啥好接法,多获取几遍吧。然后注意几个Name不同的区别

      2018-05-30
      回复
登录 后发表内容