根据rxandroidble,dispose()应该在Activity lifeCycle的onPause()中调用,那么BLE连接会关闭吗?和 我只能在新的Activity中连接BLE设备,如果我不调用dispose(),当我在新的Activity中连接到BLE设备时,它将带有BleAlreadyConnectedException(“已连接到具有MAC地址***的设备”)
那么,如何维护活动之间的连接状态?
答案 0 :(得分:2)
要保留对超过Activity
生命周期的任何内容的引用,必须将引用{em>移出该Activity
范围的。
在Android平台上,有几种方法可以实现生命周期的这种分离。通过书本方法将是一个Service
,它可以由Activity
开始,然后由另一个停止。例如,活动可以通过使用binding与Service
进行通信-只需确保Service
已启动,因为如果没有任何绑定的客户端(活动),它可能会被杀死。
Service
的界面可能会因情况而异-您必须设计最适合自己的需求。
替代方法(不鼓励使用)可以为the singleton pattern。