收藏
回答

ios中使用onBluetoothDeviceFound遇到问题

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug 蓝牙-通用、蓝牙-低功耗中心设备:wx.onBluetoothDeviceFound、wx.getBLEDeviceServices 微信iOS客户端 8.0.39 2.33.0

ios中使用wx.onBluetoothDeviceFound拿到的res.devices数组中deviceId变成1EB2FE1A-D9DB-A51B-D269-473512916990而不是android的mac地址19:30:06:BC:F7:02,使用这个deviceId调用wx.getBLEDeviceServices拿不到蓝牙协议里面的serviceId是怎么回事

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

2 个回答

  • Demons
    Demons
    2023-07-08

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2023-07-08
    有用
    回复 2
    • 风
      2023-07-08
      ios在调用getbledeviceservices方法去拿services数组的serviceId时,发现缺少一个serviceId:1800,同时,在谷雨蓝牙调试工具小程序中,我也发现没有这个1800的serviceId
      2023-07-08
      回复
    • 风
      2023-07-08
      其中照片为ios的,截图为android的
      2023-07-08
      回复
  • 加减法
    加减法
    2023-07-08

    看你使用小程序的手机系统,如果是android就是mac地址,另外调用getbledeviceservices看下回调

    2023-07-08
    有用
    回复 4
    • 风
      2023-07-08
      如果使用ios拿到的deviceId:1EB2FE1A-D9DB-A51B-D269-473512916990,去调用getBLEDeviceServices会不会有影响,因为我发现调用了之后拿不到蓝牙的serviceId:1800
      2023-07-08
      回复
    • 风
      2023-07-08
      我发现谷雨蓝牙调试小程序也出现这个问题
      2023-07-08
      回复
    • 风
      2023-07-08
      其中照片为ios的,截图为android的
      2023-07-08
      回复
    • 加减法
      加减法
      2023-07-10回复
      Android 设备上扫描获取到的 deviceId 为外围设备的 MAC 地址,相对固定。
      iOS 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间生成的 UUID,是设备上的Core Bluetooth为该设备分配的标识符。对于已连接过的设备,UUID 会在一段时间内保持不变(正常是15-20分钟变化一次)。
      此外,UUID 也会在某些条件下可能会发生变化(如系统蓝牙模块重启、配对设备被忽略等),在不同的设备上获取到的 UUID 也是不同的。不同手机连接同一设备的uuid不是同一个
      2023-07-10
      回复
登录 后发表内容