RxAndroidBle 扫描超时



我需要帮助。如何设置扫描超时,例如当我使用 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)放在与上述相同的位置。

最新更新