草庐IT

rxandroidble

全部标签

android - 将 timeout() 与 retryWhen() 结合使用

我正在创建一个简单的应用程序,用于使用RxAndroidBle库连接蓝牙设备(为出色的工作干杯!)。我遇到的情况有时是当我连接到设备时收到状态为133的Gatt错误。我知道它可能会发生,所以我想做的是在发生该错误时重试所有操作。这不是问题,我可以使用retryWhen()运算符轻松做到这一点,但是我还有另一个要求-流必须在之后终止30秒(如果连接不成功)。我为此使用了timeout(),但问题是当我重试时,计时器再次启动。所以问题是如何将timeout()运算符与retryWhen()结合起来,这样我就可以在出现某些特定错误时重试,但保持计数器继续运行。我有一些关于组合可观察对象的想法

安卓蓝牙 : "Scan failed, reason app registration failed for UUID"

我正在使用RxAndroidBle库开发一个应用程序,该库大约每30秒定期执行BLE扫描,每分钟左右执行一些BLE操作。几个小时后,通常在5到24小时之间,扫描停止工作。每次应该开始扫描时,我都会得到:09-0509:08:37.1608160-8160/myappD/BluetoothAdapter:startLeScan():null09-0509:08:37.1658160-8160/myappD/BluetoothAdapter:STATE_ON09-0509:08:37.1658160-8160/myappD/BluetoothAdapter:STATE_ON09-0509:

android - RxAndroidBle 保持持久连接 + 写/通知处理

我正在构建一个Android应用程序,它对低功耗蓝牙有特定要求。我需要写入一个只写特征并在一个单独的通知特征上接收响应,我需要在很多很多Activity中这样做。有没有一种Rx方法可以在第一个特征上发送请求,等待第二个特征的回答,然后继续另一个请求?此外,为了分享我的RxAndroidBle实例,我考虑做某种BleManagerSingleton,在其中公开Observables,这样我就可以轻松地在我的Presenter中订阅它们。我只是想避免必须为每个Activity复制连接逻辑并拥有(理想情况下)持久连接。这样我只能公开connectionObservable并订阅它,所以我可以