Android BLE:onCharacteristicChanged触发器在onCharacteristicWrite之后写入OnCharacteristic之前
成功的ble连接之后,我正在使用DefaultWriteType编写一个特性 在这之后,Android BLE:onCharacteristicChanged触发器在onCharacteristicWrite之后写入OnCharacteristic之前,android,bluetooth-lowenergy,iot,Android,Bluetooth Lowenergy,Iot,成功的ble连接之后,我正在使用DefaultWriteType编写一个特性 在这之后,onCharacteristicChanged触发,并且在这之后,onCharacteristicWrite触发具有相同特征的UUID,该UUID是被写入的,但具有值,作为响应,其特征与onCharacteristicChanged的响应相同 总结: onCharacteristicWrite之前onCharacteristicChanged如何触发 我相信onCharacteristicWrite表示您的写
onCharacteristicChanged
触发,并且在这之后,onCharacteristicWrite
触发具有相同特征的UUID,该UUID是被写入的,但具有值,作为响应,其特征与onCharacteristicChanged
的响应相同
总结:
onCharacteristicWrite之前onCharacteristicChanged如何触发
我相信onCharacteristicWrite表示您的写入操作是否成功。
并且onCharacteristicChanged响应/通知我们为其写入设备的命令
这是可能的还是超出了可编程周期?我认为这是意料之中的
onCharacteristicWrite
仅指示写入操作是否成功BluetoothGattCharacteristic
只能保存一个值,这是最后发送或接收的值BluetoothGattCharacteristic
实例值
,这是一个不可编辑的通知
我认为这不是最好的主意,它是如何在BLE堆栈中实现的。如果这些操作不会相互干扰,并且更为幂等/不可变,那就更好了 好的,但是序列呢?为什么在onCharacteristicWrite之前onCharacteristicChanged触发器?我相信onCharacteristicChanged会响应我们将cmd写入Ble设备的值,正如您所说的onCharacteristicWrite仅表示您的写入操作成功与否。好的,我理解您的BluetoothGattCharacteristic保持值概念。查看我编辑的问题(摘要)。您连接的设备何时启动通知?在确认writeCharacteristic操作成功之前还是之后?另一方面,我完全不知道在Android BLE堆栈上调用的顺序(在确认操作成功之前发出通知。因此我觉得理解起来很奇怪。IOS设备也有相同的序列,从您上次的评论中可以确信。