0

我正在使用 RxAndroidBle 库 v 1.4.1。我想在连接到设备时每隔几秒钟扫描一次。问题是当我停止扫描时(我不想一直扫描,只是每隔几秒钟)它会关闭与设备的连接。

rxBleClient.scanBleDevices(
    newScanSettings.Builder()
               .setScanMode(ScanSettings.SCAN_MODE_LOW_POWER)
               .build(),
     new ScanFilter.Builder()
                   .setServiceUuid("xyz")
                   .build()
)
.buffer(SCANNING_WINDOW_SECONDS, TimeUnit.SECONDS)
.first()
.repeatWhen(observable -> observable.delay(INTERVAL, TimeUnit.SECONDS));

我知道这种行为已记录在案“ scanBleDevices() - 这个 Observable 在取消订阅时关闭/清理内部资源(即完成扫描、关闭连接、禁用通知)

有什么解决方法吗?还是我必须在连接时浪费电池并一直扫描或根本不扫描?

编辑该问题仅发生在某些设备上-例如。华硕 Zenfone T100J。

scanDevices()
   .doOnNext(device -> {
        if(disconnected && device!=null){connect();}
    })
4

0 回答 0