RxAndroidBle 扫描超时
RxAndroidBle Scan Timeout
我需要帮助。当我使用 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)
放在与上面相同的位置。
我需要帮助。当我使用 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)
放在与上面相同的位置。