在ios9系统上完成正常,升级之后,advertisData转化成字符串 是相同的了(附截图)
代码如下:
else if (app.deviceInnfo.platform == 'ios') {
//真机
peripheral = res.devices[0];
var advertisData = peripheral.advertisData;
var data = wx.base64ToArrayBuffer(advertisData);
var str = buf2hex(data);
peripheral.mac_add = getMacAddress(str.toUpperCase());
peripheral.advertisDataStr = str;
array.push(res.devices[0]);
console.log(peripheral);
}
function buf2hex(buffer) {
return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join('');
}
@乔克叔叔
谢谢,我发现安卓解出来是刚好mac地址,但是Ios解出头多了00dc这个是什么。
复制多了,我的项目里面是把mac地址 放到广播里面了,忽略就好啦,
接收到的advertisData是个arraybuffer ,直接通过你的buf2hex函数转化就可以了,
可以了,谢谢。
getMacAddress这个函数哪来的?
安卓附上。
peripheral = res.devices[0];
var advertisData = peripheral.advertisData;
//var data = wx.base64ToArrayBuffer(advertisData);(这行去掉)
var str = buf2hex(advertisData);
peripheral.mac_add = getMacAddress(str.toUpperCase());
peripheral.advertisDataStr = str;
我也碰到同样的问题,安卓也是一样,没有发上来。
尊敬的微信官方您好:
我们想代表所有小程序开发者,向您提议小程序的一个建议,就是能否在微信聊天窗口的(+)加号按钮弹窗处增加一个入口呢?
目前我们自己和其他交流过的开发者 都收到了来自不少用户的反馈,用过的小程序根本找不到在哪里。
增加这个入口,并不会有多大影响,但是带来用户体验价值的提升却是很大的。
希望您能够认真考虑我们的意见,谢谢!
你那里是正常的吗 ios10.3系统
先getBluetoothDevices获取所有已经扫描到的 再onBluetoothDeviceFound获取新发现的,