我正在编写一个 android 应用程序来与 BLE 设备通信。该应用程序是 iOS 版本的再版,但是任何写入请求都会在 onCharacteristicWrite 内部引发 GATT_REQUEST_NOT_SUPPORTED 响应
工作目标 C 代码
const uint8_t bytes[] = {0x01,0x02,0x00,0x00};
NSData *data = [NSData dataWithBytes:bytes length:sizeof(bytes)];
[_device writeValue:data forCharacteristic:_dataCommsCharacteristic type:CBCharacteristicWriteWithResponse];
接收 GATT_REQUEST_NOT_SUPPORTED 的等效 Android/java 代码
byte bytes[] = {0x01,0x02,0x00,0x00};
dataCommsCharacteristic.setValue(bytes);
boolean writeStatus = mGatt.writeCharacteristic(dataCommsCharacteristic);
然后
@Override
public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic
characteristic, int status) {
if (status == BluetoothGatt.GATT_REQUEST_NOT_SUPPORTED){
Log.d(TAG,"Request not supported");
}
}
我在这里错过了什么明显的东西吗?对我来说,上面的 2 个片段本质上是一样的,但是设备不能识别 android 的,但可以识别 iOS 的。
任何想法都非常感谢!