在应用程序中的多个活动中持续保持 Android 附近连接在后台运行的最佳方法是什么?
我对 Android Services 和 IntentService 做了一些研究,但我觉得两者都不是为了在后台持续运行而设计的(例如,如果没有数据传输并且连接空闲)。
由于所有可用示例都显示了在单个 Activity 中使用 Nearby Connections,我不知道如何使其适应多活动应用程序。
在应用程序中的多个活动中持续保持 Android 附近连接在后台运行的最佳方法是什么?
我对 Android Services 和 IntentService 做了一些研究,但我觉得两者都不是为了在后台持续运行而设计的(例如,如果没有数据传输并且连接空闲)。
由于所有可用示例都显示了在单个 Activity 中使用 Nearby Connections,我不知道如何使其适应多活动应用程序。
我看到其他开发人员解决这个问题的主要方法,以及我在最近的一个项目中所做的,是使用 Singleton 进行连接。
您可以在 Application 类中为 GoogleApiClient 创建一个 Singleton,并在不同的活动中重用相同的连接。
有一些方法可以为每个活动以不同的方式处理消息回调。一种方法是为 api 的侦听器创建适配器,并根据您当前的活动创建可以在这些侦听器中使用和更改的可变属性。
这篇博文展示了使用类似方法的实现。
另一种解决方法是使用具有多个片段的活动而不是多个活动。但这并不是你所问的。