在 Android 上,当您想要接收特性更改的 BLE 通知时,您可以使用以下内容:
BluetoothGattCharacteristic characteristic = ...
gatt.setCharacteristicNotification(characteristic, true);
BluetoothGattDescriptor descriptor =
characteristic.getDescriptor(CHARACTERISTIC_UPDATE_NOTIFICATION_DESCRIPTOR_UUID);
descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
gatt.writeDescriptor(descriptor);
我的问题是:在gatt.setCharacteristicNotification()
做什么?
我的假设是上面的代码代表:
- 告诉 Android 注意来自特性 X 的通知
- 告诉 BLE 设备开始广播 X 的更改通知
这似乎合乎逻辑,但我还没有在任何地方看到它的文档——相反,文档只是告诉你做我上面写的事情。我想确认setCharacteristicNotification()
这个过程的目的。