使用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的数据。
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