我正在使用兼容BLE的健康设备(可以存储测量值)来使用Android应用程序读取数据。我能够扫描存储读数的特定特征的服务和设置指示。虽然我能够听取指示并获取值,但指示从设备上保存的第一次读数开始到设备上的最新读数,需要花费大量时间才能获得最新值(特别是当设备存储大量数据时)价值观)。
有没有办法可以先获得最新的阅读量,这样我就可以停止阅读对我来说不再需要的更旧的值了。
以下是与启用所需特征的指示相关的代码段。
public static final UUID CCCD = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
Boolean gattsetchar = gatt.setCharacteristicNotification(characteristic, true);
if (!gattsetchar){
Log.e(TAG, "set characteristic=" + gattsetchar);
}
BluetoothGattDescriptor descriptor = characteristic.getDescriptor(CCCD);
if(descriptor != null){
if ((characteristic.getProperties() & BluetoothGattCharacteristic.PROPERTY_INDICATE) != 0) {
Log.d(TAG, "Enabling Indication");
descriptor.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE);
}
}
Boolean writeDes = mBluetoothGatt.writeDescriptor(descriptor);
Log.d(TAG, "Write Descriptor " + writeDes + " " + descriptor.getCharacteristic().getUuid());