关于蓝牙监听寻找到新设备读取(advertiseData)的问题
发布于 6 年前 作者 weitan 12170 次浏览 来自 问答

wx.onBluetoothDeviceFound(CALLBACK)在返回的device 对象里面有个advertiseData属性,类型是ArrayBuffer,可是我在真机上得到的是string,这是怎么一回事呢,求解,感谢

6 回复

advertiseData 是不能直接打印的,

var data = wx.base64ToArrayBuffer(advertisData);

var str = buf2hex(data);

function buf2hex(buffer) {

  return Array.prototype.map.call(new Uint8Array(buffer), x => (‘00’ + x.toString(16)).slice(-2)).join(’’);

}

解决了,我写的有问题 …

楼主怎么解决的? 我遇到的问题是真机测试打印advertiseData为空 将advertiseData转化成base64可以显示字符串信息。求解

楼主再问一下 ,你那边现在解析出来是什么格式,我这边安卓和iOS解析出来真机上结果不一样,和APP端结果也不一样???

OK啦  👍👍👍

什么系统,微信是什么版本呢?

回到顶部