收藏
回答

(紧急)报告一个bug:wx.onBluetoothDeviceFound

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.onBluetoothDeviceFound 微信安卓客户端 7.0.17 2.12.2

wx.onBluetoothDeviceFound返回值字段advertisData:当前蓝牙设备的广播数据段中的 ManufacturerData(0xff) 数据段。

若BLE外设广播是connectable&scannable&undirect,advertising包和scan_response包都有0xff(ManufacturerData字段):

  • 在ios上,wx.onBluetoothDeviceFound自动把advertising包和scan_response中的0xff字段合并。
  • 在android,wx.onBluetoothDeviceFound对advertising包和scan_response中的0xff字段合并的结果是错误的。

advertising中的0xff字段: 3100000001

scan_response中的0xff字段:726F62696E

期望的结果是:3100000001726F62696E

wx.onBluetoothDeviceFound返回值字段advertisData:726F变成了3100.

或者类似lightblue截图给出的结果:


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

1 个回答

  • 社区技术运营专员-CJiang
    社区技术运营专员-CJiang
    09-17

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

    09-17
    有用
    回复 2
    • 韦不吕🙈🙉🙊
      韦不吕🙈🙉🙊
      星期六 18:11
      请看清开头的表格,里已经有版本描述了。只在anroid出现,代码片段不能跑在手机上。这个必须要在手机上跑。是100%复现的问题。必须需要BLE外设同时设定SCAN RESPONSE广播才行。我可以花一个上午的时间带BLE设备和你们一起debug,请私信我。
      星期六 18:11
      回复
    • 韦不吕🙈🙉🙊
      韦不吕🙈🙉🙊
      星期一 12:25
      我意思是,第一这个代码要跑在android真机上才能测出来。第二必须要有BLE外设,且该外设设定了SCAN RESPONSE。到底要不要解决这个问题?
      星期一 12:25
      回复
登录 后发表内容
问题标签