收藏
回答

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

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

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


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


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


- 预期表现

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

- 复现路径


- 提供一个最简复现 Demo





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


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


最后一次编辑于  2019-03-20
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    2019-03-22

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

    2019-03-22
    有用
    回复
  • WonDerful 。
    WonDerful 。
    2019-04-19

    抱歉,回帖有点延迟。

    问题已经解决了。

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

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

    2019-04-19
    有用
    回复 2
    • 圈圈
      圈圈
      2019-07-03

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

      2019-07-03
      回复
    • WonDerful 。
      WonDerful 。
      2019-09-29回复圈圈
      deviceId在android内是MAC地址,在IOS内是UUID。deviceId仅用于连接时使用,用法都一样
      2019-09-29
      回复
登录 后发表内容