服务可以绑定到多个组件吗?

时间:2018-01-18 10:11:56

标签: android broadcastreceiver android-service

我一直在使用Android服务一段时间了。我知道如何启动服务并绑定到服务。我知道您可以绑定到多个服务,例如在一个活动中,但是服务可以绑定到多个组件(多个活动,多个服务或例如活动和其他服务)相同的申请?

我的问题的原因是我有LocationService.java类扩展Service并负责获取位置更新。当前位置接收的值应该用于其他几个组件。目前,我在LocationService绑定了Service A,我正在使用ICallbackServiceConnection。我想在Service B中执行相同的操作,以便接收位置更新。

我是否应该使用与LocationService中相同的模型继续绑定Service B中的Service A,如果是,我应该在LocationService中再次启动Service B ?我可以改用BroadcastReceiver吗?

1 个答案:

答案 0 :(得分:0)

我已经完成了你的问题以及你想要实现的任务。您正在更新活动A中的位置以及您希望在活动B中实现的位置。因为您已经在活动A中实现了整个过程,因此在活动B中实现相同的操作是没有任何意义的。因为OOP的主要概念是代码重用性,所以你只需要在Activity A中广播结果并在Activity B中添加一个Broadcast接收器。这样会容易得多并且不会给你的应用带来负担。