HarmonyOS 鸿蒙Next 在测试蓝牙发送数据时,出现蓝牙数据发送失败的情况,打印显示蓝牙发送失败:Error: BussinessError 401: Invalid parameter
HarmonyOS 鸿蒙Next 在测试蓝牙发送数据时,出现蓝牙数据发送失败的情况,打印显示蓝牙发送失败:Error: BussinessError 401: Invalid parameter 测试过了设置descriptors参数和不设置descriptors参数,两次得到的结果依然都是蓝牙数据发送失败,ble客户端发送数据失败。
测试手机为mate60pro,用其他手机连接安卓app测试,对比mate60pro连接鸿蒙app,情况如下:
-
安卓app连接蓝牙时esp的打印:
-
鸿蒙app连接蓝牙时esp的打印:
对比发现鸿蒙app这边没有找到相关的写服务。连接是成功的,mtu也设置成功了,但就是没有写服务。
目前想知道究竟错误的地方在哪里?服务uuid和特征值uuid是没问题的。
发送蓝牙数据方法:
static sendValueToBle1(blenum: number, value: string, callback?: (val: number) => void) {
let charBuffer = new ArrayBuffer(value.length);
let charValue = new Uint8Array(charBuffer);
for (let i = 0; i < value.length; i++) {
charValue[i] = value.charCodeAt(i); // 字符转换为unicode
}
try {
let characteristic: ble.BLECharacteristic = {
serviceUuid: servicesUUID,
characteristicUuid: writeCharacteristicsUUID,
characteristicValue: charBuffer,
descriptors: []
};
let device: ble.GattClientDevice =
ble.createGattClientDevice(BleManager.blemanager2[blenum].bleMAC.toUpperCase());
let success = device.writeCharacteristicValue(
characteristic,
ble.GattWriteType.WRITE
);
logtofile(`蓝牙发送${success}:${value}`, 1);
//if (callback) callback(success ? 1 : 0);
} catch (error) {
logtofile(`蓝牙发送失败:${error}`, 1);
if (callback) {
callback(-1);
}
}
}
可能的回调函数
if (callback != null) {
callback(1);
}
更多关于HarmonyOS 鸿蒙Next 在测试蓝牙发送数据时,出现蓝牙数据发送失败的情况,打印显示蓝牙发送失败:Error: BussinessError 401: Invalid parameter的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next 在测试蓝牙发送数据时,出现蓝牙数据发送失败的情况,打印显示蓝牙发送失败:Error: BussinessError 401: Invalid parameter的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,当你在测试蓝牙发送数据时遇到错误代码 BussinessError 401: Invalid parameter
,这通常表示在蓝牙数据传输过程中,传递给蓝牙接口的参数不合法或不符合要求。具体原因可能包括但不限于以下几种情况:
-
参数格式错误:传递给蓝牙接口的参数类型或格式不符合API的要求。例如,参数可能为空、数据类型不正确或不符合蓝牙协议规范。
-
数据长度超出限制:发送的数据长度可能超过了蓝牙协议或设备支持的最大传输长度。
-
设备未连接或状态不正确:在发送数据之前,蓝牙设备可能未正确连接,或者设备当前的状态不适合进行数据传输。
-
权限问题:应用可能没有正确配置或获取蓝牙相关权限,导致无法正常执行蓝牙操作。
-
协议不匹配:使用的蓝牙协议可能与设备或服务不兼容,导致参数校验失败。
要解决此问题,首先确保传递给蓝牙接口的所有参数都符合API文档中的要求,并检查设备连接状态、权限配置以及数据传输长度限制。此外,确保使用的蓝牙协议与设备和服务相匹配。