ios中使用wx.onBluetoothDeviceFound拿到的res.devices数组中deviceId变成1EB2FE1A-D9DB-A51B-D269-473512916990而不是android的mac地址19:30:06:BC:F7:02,使用这个deviceId调用wx.getBLEDeviceServices拿不到蓝牙协议里面的serviceId是怎么回事
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | 蓝牙-通用、蓝牙-低功耗中心设备:wx.onBluetoothDeviceFound、wx.getBLEDeviceServices | 微信iOS客户端 | 8.0.39 | 2.33.0 |
2 个回答
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
看你使用小程序的手机系统,如果是android就是mac地址,另外调用getbledeviceservices看下回调
iOS 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间生成的 UUID,是设备上的Core Bluetooth为该设备分配的标识符。对于已连接过的设备,UUID 会在一段时间内保持不变(正常是15-20分钟变化一次)。
此外,UUID 也会在某些条件下可能会发生变化(如系统蓝牙模块重启、配对设备被忽略等),在不同的设备上获取到的 UUID 也是不同的。不同手机连接同一设备的uuid不是同一个