我需要帮助。如何设置扫描超时,例如10秒,当我使用rxandroidble。
scanDisposable = rxBleClient.scanBleDevices(
new ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
.setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES)
.build(),
new ScanFilter.Builder()
.setDeviceAddress("B4:99:4C:34:DC:8B")
// add custom filters if needed
.build()
)
.observeOn(AndroidSchedulers.mainThread())
.doFinally(this::dispose)
.subscribe(
resultsAdapter::addScanResult,
this::onScanFailure
);发布于 2018-04-12 20:43:52
如果要在特定时间内没有发射时发出错误(TimeoutException),则在RxBleClient.scanBleDevices()之后放置一个.timeout(int, TimeUnit)。
如果您想简单地完成扫描而没有任何错误,那么您将.take(int, TimeUnit)放在与上面相同的位置。
https://stackoverflow.com/questions/49805248
复制相似问题