我需要帮助。如何设置扫描超时,例如当我使用 rxandroidble 时为 10 秒。
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
);
如果你想在特定
时间内没有发射时发出错误(TimeoutException
(,那么你可以在RxBleClient.scanBleDevices()
后面放一个.timeout(int, TimeUnit)
。
如果您想简单地完成扫描而没有任何错误,则可以.take(int, TimeUnit)
放在与上述相同的位置。