gpt4 book ai didi

onCharacteristicwrite 中的 Android Ble 状态代码 14

转载 作者:搜寻专家 更新时间:2023-11-01 09:28:28 26 4
gpt4 key购买 nike

我正在使用 BLE 开发一个应用程序,我必须向外围设备发送一些命令以获得响应。写特性代码如下:

    public void writeCustomCharacteristic(String value) {
this.value = "";
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
}
/*check if the service is available on the device*/
BluetoothGattService mCustomService = mBluetoothGatt.getService(SERVICE_UUID);
if (mCustomService == null) {
Log.w(TAG, "Custom BLE Service not found");
return;
}

/*get the read characteristic from the service*/
BluetoothGattCharacteristic mWriteCharacteristic = mCustomService.getCharacteristic(CHARACTERSTICS_UUID);
mWriteCharacteristic.setWriteType(BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT);
mWriteCharacteristic.setValue(value.getBytes());


if (!mBluetoothGatt.writeCharacteristic(mWriteCharacteristic)) {
Log.w(TAG, "Failed to write characteristic");
}
}

在写入特征后,我在下面的方法中得到了响应,它返回状态码 14,这在官方文档中也没有提到:

public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
System.out.println("BluetoothLeService.onCharacteristicWrite");

System.out.println(BluetoothGatt.GATT_SUCCESS + " :status: " + status);

}

最佳答案

状态代码 14 可能表示 ATT 错误代码 14,它在蓝牙核心规范 v5.0,第 3 卷,F 部分,第 3.4.1.1 节表 3.3 中定义。

此错误代码是从远程设备发送的,因此 Android 端很可能没有错误。 ATT 中的错误代码 14 表示“不可能的错误”。您需要调查远程设备发送此错误代码的原因。

关于onCharacteristicwrite 中的 Android Ble 状态代码 14,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49254735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com