2***@qq.com
2***@qq.com
  • 发布:2019-05-08 14:13
  • 更新:2019-08-30 14:02
  • 阅读:4352

【报Bug】uni-app 5+App和微信小程序 蓝牙设备 advertisData 数据不一致

分类:uni-app

使用uni-app蓝牙设备广播报文advertisData,5+App和微信小程序数据内容不一致。
微信小程序中advertisData解析数据正确,
5+app中Android和Ios中所有设备的advertisData解析数据都长一样,且是错误的。
代码片段:

function ab2hex(buffer) {  
    return Array.prototype.map.call(new Uint8Array(buffer), bit =>  ('00' + bit.toString(16)).slice(-2)).join('');  
}  
uni.getBluetoothDevices({  
    success: res => {  
            let hex = ab2hex(res.devices[0].advertisData);  
           console.log(hex)  
    }  
)  

官文文档中也写了: advertisData ArrayBuffer 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。
推荐使用 nRF Connect 这款软件,可以看到ManufacturerData的数据。

2019-05-08 14:13 负责人:无 分享
已邀请:
ZGH0709

ZGH0709

你获取这个是想做什么?你怎么判断是值是正确还是错误的?

  • 2***@qq.com (作者)

    advertisData字段是蓝牙设备的广播报文,里面有设备mac地址以及一些设备类型等数据,用来确认设备的。在微信小程序中,解出此字段(Arraybuffer ==> hexString)的值是19090e400100e6fcedeac754这样的格式,切每个设备不一样。但是在5+App中所有设备解出来的都是a1b8de72d02badac81b9f7de。

    2019-05-14 10:02

  • Donick

    回复 2***@qq.com: IOS没有这个字段,是已经不在收这个广播了吗

    2022-12-27 17:48

青孓丶

青孓丶

我的广播报文 总是少前两个字节。ManufacturerData数据长度是 22, 总是 收到 后20个。
你说他限制20字节吧,别的设备 我还能收到27个字节的广播。

DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

HBuilderX 1.9.9 已修复 ManufacturerData 数据不正确问题

  • 2***@qq.com (作者)

    安卓的开头还是少两个字节,ios的是全的,安卓的少了Company字段中的数据

    2019-05-27 11:02

DCloud_Android_zl

DCloud_Android_zl

问题已确认

DCloud_Android_zl

DCloud_Android_zl

bug已修复,请更新到HBuilderX 1.9.11.20190528-alpha版

2***@qq.com

2***@qq.com (作者)

已用alpha版验证,已修复!辛苦了
但是ios的蓝牙写入自从1.9.9更新之后一直报以下错误,我之前在github中提了issue,编号#397
提示写入成功,但是会报错,以及收到的notify有问题,麻烦验证下问题哦,感谢~!
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
15:37:52.167 write success, [Object] {"errMsg":"writeBLECharacteristicValue:ok"}
15:37:52.196 thirdScriptError
15:37:52.196 Invalid array length argument;undefined
15:37:52.196 Uint8Array@[native code]
15:37:52.196 wt@app-service.js:4:176797
15:37:52.197 app-service.js:4:95330
15:37:52.197 app-service.js:4:209876
15:37:52.197 app-service.js:4:417187
15:37:52.197 app-service.js:4:173417
15:37:52.197 app-service.js:3:76366
15:37:52.197 app-service.js:3:37815
15:37:52.197 callbackFromNative
15:37:52.197 nativeEval
15:37:52.197 global code __ERROR
15:37:52.217 notify res, [Object] {"Error":"Error Domain=CBATTErrorDomain Code=6 \"The request is not supported.\" UserInfo={NSLocalizedDesc...}

1***@qq.com

1***@qq.com

微信小程序下notifyBLECharacteristicValueChange为什么没效果?

该问题目前已经被锁定, 无法添加新回复