收藏
回答

IOS系统下蓝牙通过指定serviceUUID搜索出的设备服务不匹配

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.startBluetoothDevicesDiscovery 客户端 7.0.3 2.6.3

- 当前 Bug 的表现(可附上截图)


将扫码内容中的agent_id值作为搜索蓝牙设备的services参数(agent_id值为服务端发起的蓝牙服务UUID)


搜索到的设备内唯一serviceUUID与搜索时设置的services参数不匹配


- 预期表现

搜索出的蓝牙设备服务UUID与搜索时传入参数一致

- 复现路径


- 提供一个最简复现 Demo





补充一个问题:此外通过以不同的serviceUUID作为搜索参数,搜索出来的设备deviceId都相同,导致在连接时会连错设备。如下图所示,搜索出来两个设备,但是DeviceId都相同


请问是否有可以清楚当前小程序内蓝牙缓存的接口?或者设置?


最后一次编辑于  03-20  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • nickname
    nickname
    03-22

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    03-22
    赞同
    回复
  • WonDerful 。
    WonDerful 。
    04-19

    抱歉,回帖有点延迟。

    问题已经解决了。

    根本原因是由于国内同一批次CRS芯片外接蓝牙在IOS系统内被识别到的deviceId都相同,此时即使知道需要连接的设备deviceId,但由于同一蓝牙范围内有多个deviceId相同的设备,导致不一定能够连接到目标设备。

    我们最后换了博通芯片(博通芯片蓝牙在IOS设备上识别到的deviceId唯一)的外接蓝牙解决了该问题。

    04-19
    赞同
    回复 1
    • 圈圈
      圈圈
      07-03

      问问楼主,就是那用安卓的设备id和苹果的不一样,你如何解决呢?苹果的读蓝牙设备id是uuid的,安卓是设备id的,长度不一样,且苹果可能系统读取出来也不一样

      07-03
      回复