成功连接后,我正在使用DefaultWriteType编写一个特性。
在那个onCharacteristicChanged
触发器之后,在那个具有相同特征的onCharacteristicWrite
触发器之后,UUID被写入,但其值为响应,因为该特征与onCharacteristicChanged
的响应相同。
要点:
onCharacteristicChanged如何在onCharacteristicWrite之前触发?
我相信onCharacteristicWrite表明你的写操作是否成功。 并且onCharacteristicChanged响应/通知我们写入ble device的命令。
这是否可能或是否已退出Ble循环?
答案 0 :(得分:1)
我认为这是预期的。
因为onCharacteristicWrite
仅表示您的写入操作成功与否。
BluetoothGattCharacteristic
只能包含一个值,即最后一个发送或接收的值。
两个操作都使用相同的BluetoothGattCharacteristic
实例。
关于你描述的序列,它是"正常"你在两个回调中都有相同的值。由于操作特征value
的最后一个操作是BLE通知。
我认为这不是最好的主意,它是如何在BLE堆栈中实现的。如果操作不会相互干扰并且更加幂等/不可变,那会更好。