我正在做一个长写操作,一次发送 16 个字节的批次。我希望有一个进度条向用户显示长写入的进度,因此每次写入批处理时我都需要某种回调。
从文档来看,它看起来像setWriteOperationAckStrategy
这样。但是,在运行以下代码时,我最终只看到一条消息输出到日志中。我在这里做错了什么?
subscription = connection.flatMap(rxBleConnection -> rxBleConnection.createNewLongWriteBuilder()
.setCharacteristicUuid(uuid)
.setBytes(bytes)
.setMaxBatchSize(16)
.setWriteOperationAckStrategy(new RxBleConnection.WriteOperationAckStrategy() {
@Override
public Observable<Boolean> call(Observable<Boolean> booleanObservable) {
Log.d("TEST", "batch written");
return booleanObservable;
}
})
.build()