Read/write 特征 from/to 特定服务

Read/write ble characteristics from/to particular service

我有几个具有不同 UUID 但具有相同特征 UUID 的服务。我不确定调用 rxBleConnection.readCharacteristic(UUID) 会得到什么特征。怎么做最好?我可以从服务列表中找到特定的服务,然后处理 BluetoothGattService 及其特性,但也许还有另一种方法?

当有多个特征具有相同的 UUID 时,唯一允许用户控制使用哪个特征的 API 是:

  • RxBleConnection.readCharacteristic(BluetoothGattCharacteristic)
  • RxBleConnection.writeCharacteristic(BluetoothGattCharacteristic, byte[])
  • RxBleConnection.setupNotification(BluetoothGattCharacteristic)
  • RxBleConnection.setupIndication(BluetoothGattCharacteristic)
  • 其他公开BluetoothGattCharacteristic
  • 用法的

要获取对 BluetoothGattCharacteristic 的引用,用户应搜索 RxBleConnection.discoverServices() 的结果 — 首先获取所需的 BluetoothGattService,然后搜索服务以获取所需的 [=15] =]