收藏
回答

小程序在ios手机上运行,能通过蓝牙接口获取到设备的mac地址吗?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 wx.onBluetoothDeviceFound 客户端 6.5.3 2.0.0

- 需求的场景描述(希望解决的问题)就是想在ios手机上通过蓝牙接口获取到设备(比如:beacon设备)的mac地址。虽然Android上可以通过deviceid获取到mac地址,但是ios获取到的是设备的uuid。


- 希望提供的能力


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

2 个回答

  • 遗失的美好
    遗失的美好
    2020-08-13

    2020年来上香

    2020-08-13
    有用 1
    回复 2
    • 遗失的美好
      遗失的美好
      2020-11-07
      找到解决办法了,IOS必须要先搜索设备,然后在wx.getBluetoothDevices接口返回的设备列表有一个字段advertisData,通过算法可以算出MAC地址
      ```js
       let bf = res.devices[i].advertisData.slice(2, 8);
                let mac = Array.prototype.map
                  .call(new Uint8Array(bf), (x) => ("00" + x.toString(16)).slice(-2))
                  .join(":");
                mac = mac.toUpperCase();
      ```
      UUID可以保存起来,之后可通过UUID直连,但是这UUID每个手机都不一样,如果是多人使用的蓝牙设备就得每次都获取了
      2020-11-07
      回复
    • 遗失的美好
      遗失的美好
      2020-11-07回复遗失的美好
      2020-11-07
      回复
  • Mark😋
    Mark😋
    2020-03-17

    楼主解决这个问题了吗,我也遇到

    2020-03-17
    有用
    回复
登录 后发表内容