根据 rxandroidble 的说法,dispose(( 应该在 Activity lifeCycle 的 onPause(( 中调用,那么 BLE 连接会很接近吗?和我只能在新活动中连接BLE设备,如果我不调用dispose((,当我在新活动中连接到BLE设备时,它将出现BleAlreadyConnectedException("已经连接到MAC地址为***的设备"(。
那么,如何维护活动之间的连接状态呢?
要保留对比Activity
生命周期更长的任何引用,必须将引用移出此Activity
的范围。
在 Android 平台上,有几种方法可以实现生命周期的分离。通过书本方法,将是一个Service
,可以由一个Activity
开始,由另一个停止。例如,活动可以使用绑定与Service
通信 — 只需确保Service
已启动,因为如果没有任何绑定的客户端(活动(,它可能会被终止。
Service
的界面可能会因具体情况而异——您必须设计最适合您需求的内容。
替代(不鼓励(方法可能是单例模式。