【问题标题】:How to maintain connection state between many Activities?如何保持多个Activity之间的连接状态?
【发布时间】:2019-04-04 18:56:16
【问题描述】:

根据rxandroidble,dispose()应该在Activity lifeCycle的onPause()中调用,那么BLE连接会关闭吗?和 我只能在新的Activity中连接BLE设备,如果我不调用dispose(),当我在新的Activity中连接BLE设备时会出现BleAlreadyConnectedException(“Already connected to device with MAC address ***”) .

那么,我该如何维护Activity之间的连接状态呢?

【问题讨论】:

    标签: rxandroidble


    【解决方案1】:

    要保留对任何比 Activity 生命周期更长的引用,必须将引用移动到此 Activity 范围之外

    在 Android 平台上,有多种方法可以实现这种生命周期分离。按照本书的方法,Service 可以由 Activity 启动并由另一个停止。活动可以与Service 通信,例如使用binding — 只需确保Service 已启动,因为如果没有任何绑定的客户端(活动),它可能会被终止。

    Service 的界面可能因具体情况而异——您必须设计最适合您需求的界面。

    替代(不鼓励)方法可能是the singleton pattern

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-12
      • 2014-07-10
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多