uni-app在app端(android)调用蓝牙写入特征值时报错10013
uni-app在app端(android)调用蓝牙写入特征值时报错10013
信息类别 | 详情 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC版本号 | WINDOWS10 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 4.24 |
手机系统 | Android |
手机系统版本 | Android 13 |
手机厂商 | vivo |
手机机型 | vivo Y66iA |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
bug描述:
uni-app在app端(android)调用蓝牙写入特征值报错10013;微信小程序写入正常
示例代码:
uni.writeBLECharacteristicValue({
deviceId,
serviceId,
characteristicId,
value: data,
success(res) {
console.log('writeBLECharacteristicValue success'+ JSON.stringify(res));
uni.showToast({
title:"指令发送成功",
duration:2000
})
},
fail: e => {
console.log('writeBLECharacteristicValue,错误码:'+ JSON.stringify(e));
uni.showToast({
title:JSON.stringify(e),
duration:5000
})
that.device.name = JSON.stringify(e)
},
complete() {
uni.hideLoading();
}
})
操作步骤:
uni.writeBLECharacteristicValue({
deviceId,
serviceId,
characteristicId,
value: data,
success(res) {
console.log('writeBLECharacteristicValue success'+ JSON.stringify(res));
uni.showToast({
title:"指令发送成功",
duration:2000
})
},
fail: e => {
console.log('writeBLECharacteristicValue,错误码:'+ JSON.stringify(e));
uni.showToast({
title:JSON.stringify(e),
duration:5000
})
that.device.name = JSON.stringify(e)
},
complete() {
uni.hideLoading();
}
})
预期结果:
uni.writeBLECharacteristicValue({
deviceId,
serviceId,
characteristicId,
value: data,
success(res) {
console.log('writeBLECharacteristicValue success'+ JSON.stringify(res));
uni.showToast({
title:"指令发送成功",
duration:2000
})
},
fail: e => {
console.log('writeBLECharacteristicValue,错误码:'+ JSON.stringify(e));
uni.showToast({
title:JSON.stringify(e),
duration:5000
})
that.device.name = JSON.stringify(e)
},
complete() {
uni.hideLoading();
}
})
实际结果:
uni.writeBLECharacteristicValue({
deviceId,
serviceId,
characteristicId,
value: data,
success(res) {
console.log('writeBLECharacteristicValue success'+ JSON.stringify(res));
uni.showToast({
title:"指令发送成功",
duration:2000
})
},
fail: e => {
console.log('writeBLECharacteristicValue,错误码:'+ JSON.stringify(e));
uni.showToast({
title:JSON.stringify(e),
duration:5000
})
that.device.name = JSON.stringify(e)
},
complete() {
uni.hideLoading();
}
})
更多关于uni-app在app端(android)调用蓝牙写入特征值时报错10013的实战教程也可以访问 https://www.itying.com/category-93-b0.html
打印了日志,问题解决了,安卓APP连接蓝牙成功后,需要延迟600-1000ms,这样就能拿到特征值
createBLEConnection() {
let that = this;
uni.createBLEConnection({
deviceId: that.device.uuid,
success: res => {
that.writelog(‘连接接蓝牙成功’,JSON.stringify(res));
that.device.bleStatus = “0”;
//设置蓝牙低功耗的最大传输单元
that.setBLEMTU()
that.getBLEDeviceRSSI()
//安卓APP连接蓝牙水杯成功后,需要延迟600-1000ms,这样就能拿到特征值
setTimeout(function() {
that.getBLEDeviceServices();
}, 1000)
},
fail: e => {
that.writelog('连接接蓝牙失败',JSON.stringify(e));
that.device.bleStatus = "1";
}
});
},<br>
更多关于uni-app在app端(android)调用蓝牙写入特征值时报错10013的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好,打印检查一下deviceId 参数