序: 小程序要将图片数据传到蓝牙设备上,几十上百K的图片数据相对于蓝牙设备来说是很大的,正常20个字节发送完到设备要一两分钟,如果与安卓协商mtu长度后,则可以达到十几二十多秒左右,安卓低机型不支持。
和安卓协商mtu
var imgCharLen = 240; // 图片有效数据长度,iOS:240(120个字节),Android:40(20个字节)
var platform = true; // true_ios,false_android
onLoad(){
const res = wx.getSystemInfoSync();
platform = res.platform == "ios" ? true : false;
}
onShow() {
// 连上设备
if(app.globalData.connected){
// 和安卓协商mtu
if(!platform){
wx.setBLEMTU({
deviceId: app.globalData.deviceId,
mtu: 240,
success:(res)=>{
if(res.errCode == 0){
imgCharLen = 240; // mtu:240
}else{
imgCharLen = 40;
}
}
})
}
}
}
app.globalData.connected 这个是全局变量来着,也就是设备连接之后才协商的
当然,也可以根据你的实际需要来设置,ios的mtu默认是512,Android的mtu默认是23.
评论 (0)