【发布时间】:2018-01-17 22:19:56
【问题描述】:
我正在开发一个 BLE 应用程序(使用 RxAndroidBle 库!),它能够连接到多个设备很长一段时间。 最近业务需求略有变化,我必须始终保持与所有设备的连接 整个应用程序。我的意思是在我连接设备后,我必须在所有屏幕上保持稳定的连接,如果我断开连接 我必须提示用户。
到目前为止,我有某种BleManager,它是对RxBleClient 的抽象,而BleDevice 是对RxBleDevice 的抽象。
这两个类都覆盖了一些响应式接口,它们被注入到适当的模块中,并且所有订阅和取消订阅它们都是在这些特定的屏幕模块中完成的。
但是现在我必须改变方法,因为我必须一直保持连接。
问题是: 除了在 Android Service 中创建 Ble Device 并将订阅保留在该 Service 中之外,还有其他更好的方法来保持与 Ble 设备的稳定连接吗? 所有 Ble 示例/教程都将这些连接保留在服务中,但我不是这个解决方案的忠实粉丝,因为它也不太适合我的架构。 我想知道我是否可以以某种方式将它与应用程序实例或类似的东西绑定。 非常感谢服务以外的任何想法。
【问题讨论】:
-
今天早上我遇到了this 的回答,解决方案与我实施的类似,但仍然需要使用服务。
标签: android bluetooth android-service rxandroidble