收藏
回答

(紧急)报告一个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截图给出的结果:


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

2 个回答

  • 韦不吕
    韦不吕
    2020-09-27

    麻烦看一下咯。

    2020-09-27
    有用
    回复
  • Cjiang
    Cjiang
    2020-09-17

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

    2020-09-17
    有用
    回复 27
    • 韦不吕
      韦不吕
      2020-09-19
      请看清开头的表格,里已经有版本描述了。只在anroid出现,代码片段不能跑在手机上。这个必须要在手机上跑。是100%复现的问题。必须需要BLE外设同时设定SCAN RESPONSE广播才行。我可以花一个上午的时间带BLE设备和你们一起debug,请私信我。
      2020-09-19
      回复
    • 韦不吕
      韦不吕
      2020-09-21
      我意思是,第一这个代码要跑在android真机上才能测出来。第二必须要有BLE外设,且该外设设定了SCAN RESPONSE。到底要不要解决这个问题?
      2020-09-21
      回复
    • Cjiang
      Cjiang
      2020-11-04回复韦不吕
      你好,现在还会存在问题吗?
      2020-11-04
      回复
    • Cjiang
      Cjiang
      2020-11-04回复韦不吕
      还有问题,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点(具体到分钟)。
      2020-11-04
      回复
    • 韦不吕
      韦不吕
      2020-11-04回复Cjiang
      感谢关注咯。我找时间再复现一下。这个功能对BLE很重要。
      2020-11-04
      回复
    查看更多(22)
登录 后发表内容
问题标签