createConnectdo: function(deviceid) {
let self = this
uni.showLoading({
title: "正在链接..."
})
uni.createBLEConnection({
deviceId: deviceid,
success: function(res) {
console.log(res)
uni.setBLEMTU({
deviceId: deviceid,
mtu: 312,
success: (res) => {
console.log(res)
},
fail: (error) => {
console.log(error)
}
})
self.stopBluetoothDevicesDiscovery()
self.getBluetoothDevicesServices(deviceid)
// self.getBledeviceCharateristics(self.blueList[index])
},
fail: function(res) {
console.log("error", res)
uni.closeBLEConnection({
deviceId: deviceid,
success: function(res) {
self.createConnectdo(deviceid)
}
})
}
})
},
6 个回复
牛牛2021
解决了吗?有遇到这个问题了吗?
9***@qq.com - hello worid
连接成功后不要立即调, 加个2s延时就好了
2***@qq.com
连接成功后,延迟一秒调用
setTimeout(function(){
uni.setBLEMTU({
deviceId:that.deviceId,
mtu:30,
success(res) {
console.log('设置成功', res)
},
fail(err) {
console.log('设置失败', err)
}
})
},1000)
2***@qq.com
连接成功后,延迟一秒调用
7***@qq.com
为什么我加了延迟也不行,还是报错:setBLEMTU:fail:internal error
2***@qq.com
这个时间并不是固定两秒,也可以适当的延长点,还有就是iOS的没有这个
2024-06-29 15:02
8***@qq.com
我链接蓝牙成功后加了十秒延迟,返回成功了,但是实际还是没生效,发送超过20个字节的数据硬件收到还是20个字节,手机上的蓝牙调试助手是没问题的