Android BLE:onCharacteristicChanged在writeCharacteristic

时间:2017-03-09 13:24:25

标签: android bluetooth-lowenergy iot

成功连接后,我正在使用DefaultWriteType编写一个特性。

在那个onCharacteristicChanged触发器之后,在那个具有相同特征的onCharacteristicWrite触发器之后,UUID被写入,但其值为响应,因为该特征与onCharacteristicChanged的响应相同。

要点:

onCharacteristicChanged如何在onCharacteristicWrite之前触发?

我相信onCharacteristicWrite表明你的写操作是否成功。 并且onCharacteristicChanged响应/通知我们写入ble device的命令。

这是否可能或是否已退出Ble循环?

1 个答案:

答案 0 :(得分:1)

我认为这是预期的。

  1. 因为onCharacteristicWrite仅表示您的写入操作成功与否。

  2. BluetoothGattCharacteristic只能包含一个值,即最后一个发送或接收的值。

  3. 两个操作都使用相同的BluetoothGattCharacteristic实例。

  4. 关于你描述的序列,它是"正常"你在两个回调中都有相同的值。由于操作特征value的最后一个操作是BLE通知。

    我认为这不是最好的主意,它是如何在BLE堆栈中实现的。如果操作不会相互干扰并且更加幂等/不可变,那会更好。