不管继续往下连接,然后弄个定时器一直设置就行了,参考这个https://blog.csdn.net/weixin_44705979/article/details/139321651?spm=1001.2014.3001.5501
蓝牙发送超过20字节数据在安卓上面没有返回数据在ios 没问题,调用wx.setBLEMTU也报错?蓝牙发送超过20字节数据在安卓上面没有返回数据在ios 没问题,调用wx.setBLEMTU也报错,errCode:-1 或者errCode: 10013 errMsg: "setBLEMTU:fail:invalid data, DEFAULT_MIN_MTU = 23
06-04不管继续往下连接,然后弄个定时器一直设置就行了,参考这个https://blog.csdn.net/weixin_44705979/article/details/139321651?spm=1001.2014.3001.5501
wx.setBLEMTU报错 setBLEMTU:fail:internal errorwx.setBLEMTU报错 setBLEMTU:fail:internal error,手机1+ace2 pro // 蓝牙MTU设置 setBLEMTU(deviceId) { setTimeout(() => { wx.setBLEMTU({ deviceId: deviceId, mtu: 512, success(res) { console.log("mtu设置成功!ccccc", res); //console.log(res); }, fail(err) { console.log("mtu设置失败:ccccc", err); //console.log(err); var ret = '{"code":1,"msg": "蓝牙MTU设置失败"}'; return ret; }, }) }, 1000) }
06-04不管继续往下连接,然后弄个定时器一直设置就行了,参考这个https://blog.csdn.net/weixin_44705979/article/details/139321651?spm=1001.2014.3001.5501
wx.setBLEMTU() 在安卓上不能设置MTU超过247byte吗?wx.setBLEMTU() API 在安卓上不能设置MTU超过247byte吗? 我试了好多次,设置MTU为248byte,320byte,只要超过247都不行,都是报错1500104
06-04不管继续往下连接,然后弄个定时器一直设置就行了,参考这个https://blog.csdn.net/weixin_44705979/article/details/139321651?spm=1001.2014.3001.5501
关于安卓14 蓝牙mtu设置问题,wx.setBLEMTU 请问微信什么时候修复?[图片] 根据谷歌官方文档描述,我理解的意思为:从Android 14开始,Android蓝牙堆栈更严格地遵循蓝牙核心规范5.2版本,在这种情况下,外围设备无法主动设置MTU。相反,外围设备需要响应来自Android设备的MTU请求,并且应该使用一个合适的值来响应该请求。最终确定的MTU值将取决于Android设备请求的值和远程设备提供的值之间的最小值。 是不是跟iOS一样,无法调整了?
05-31不管继续往下连接,然后弄个定时器一直设置就行了
Android14的微信小程序调用wx.setBLEMTU失败?API:wx.setBLEMTU、wx.writeBLECharacteristicValue 微信版本号:8.0.46、8.0.47 基础库版本号:3.2.4[1111] 手机:Android14+小米14,Android14+小米12S 1. 调用wx.setBLEMTU失败,{errCode: -1, errno: 1500104, errMsg: "setBLEMTU:fail:internal error"},wx.getBLEMTU成功,数据为517,为何只有Android14系统的手机调用当前接口会失败,是否有解决方案? [图片] 2. 30字节的数据通过wx.writeBLECharacteristicValue写入成功,但250个字节的数据通过wx.writeBLECharacteristicValue却写入失败; [图片] 3. 为何wx.getBLEMTU的数据为517的情况下,写入250个字节的数据会失败,且只有Android14系统的手机会失败?
05-31不管继续往下连接,然后弄个定时器一直设置就行了,参考这个https://blog.csdn.net/weixin_44705979/article/details/139321651?spm=1001.2014.3001.5501
部分手机wx.setBLEMTU 设置失败 ?有些手机可以设置成功,但是有部分手机,设置失败,报错信息为: errCode: -1, errno: 1500104, errMsg: "setBLEMTU:fail:internal error 请问这是什么原因
05-31/*开启监听蓝牙传值*/ notifyEquip() { let _ = this; console.log('*************************') if (uni.getSystemInfoSync().platform === 'android') { uni.setBLEMTU({ deviceId: _.deviceId, // 设备ID,在【4】里获取到 mtu: 512, // 服务UUID,在【6】里能获取到 success(res) { console.log('设置mtu成功') wx.getBLEMTU({ deviceId: _.deviceId, writeType: 'write', success (res) { console.log(res) } }) _.notifyBLECharacter() }, fail(err) { console.error(err) _.setAndroidMTU() // 重要代码如果失败继续往下连接然后重复设置 } }) } else { _.notifyBLECharacter() } }, /*处理设置失败安卓协商低功耗最大传输单元*/ setAndroidMTU() { let _ = this; console.log('处理安卓协商低功耗最大传输单元失败的方法') _.notifyBLECharacter() _.mtuTimer = setInterval(() =>{ console.log('开始循环设置MTU值') uni.setBLEMTU({ deviceId: _.deviceId, // 设备ID,在【4】里获取到 mtu: 512, // 服务UUID,在【6】里能获取到 success(res) { console.log('设置mtu成功') }, fail(err) { console.error(err) }, complete() { wx.getBLEMTU({ deviceId: _.deviceId, writeType: 'write', success(res) { console.log(res) clearInterval(_.mtuTimer) _.mtuTimer = null; } }) } }) },1500) }, notifyBLECharacter() { let _ = this; console.log('进入了开始监听的函数里面') uni.notifyBLECharacteristicValueChange({ deviceId: _.deviceId, // 设备ID,在【4】里获取到 serviceId: _.serviceId, // 服务UUID,在【6】里能获取到 characteristicId: _.readCharacteristicId, // 特征值,在【7】里能获取到 state: true, success(res) { console.log('notifyBLECharacteristicValueChange成功监听') _.hasConnectBTFlag = true; _.restFlag = false; uni.hideLoading() uni.setStorageSync('hasConnectBTFlag', true) // 下发获取充电桩状态数据 _.listenValueChange(); // 接受消息的方法 _.writePileStatusCode() _.looperGetPileStatusFun() }, fail(err) { _.connectErrorFun(); } }) }, /*处理桩返回的值*/ listenValueChange() { console.log('vHHHHHHHHHHHHH') let _ = this; uni.onBLECharacteristicValueChange(res => { console.log('!!!!!!!!!!!桩返回的16进制值!!!!!!!!!!') console.log(res.value) console.log('!!!!!!!!!!!桩返回的16进制值!!!!!!!!!!') // 结果里有个value值,该值为 ArrayBuffer 类型,所以在控制台无法用肉眼观察到,必须将该值转换为16进制 let resHex = _.ab2hex(res.value); _.handleEquipNotifyBackCode(resHex); }) },
wx.setBLEMTU Android14设置失败/*开启监听蓝牙传值*/ notifyEquip() { let _ = this; console.log('*************************') if (uni.getSystemInfoSync().platform === 'android') { uni.setBLEMTU({ deviceId: _.deviceId, // 设备ID,在【4】里获取到 mtu: 512, // 服务UUID,在【6】里能获取到 success(res) { console.log('设置mtu成功') _.notifyBLECharacter() }, fail(err) { console.error(err) } }) } else { _.notifyBLECharacter() } }, [图片]
05-30