【发布时间】:2018-12-29 18:05:15
【问题描述】:
我有一个主要活动和几个活动,它们以一种用户可控的方式从主要活动开始。无论如何,这些活动中的一些仅限于它们自己的服务。这些服务在启动时将一直工作到主要活动销毁为止。我想知道如何在它们之间传输消息而不将它们全部组合在一个服务中或将它们绑定到那里的每个活动?我的意思是,发送全局消息而不是 LocalBroadcast。
【问题讨论】:
-
(1) 这些服务是具有自己线程的 IntentService 还是仅共享 MainThread? (2) 您的服务是否在各自的线程中阻塞?正确的解决方案取决于您将如何回答这些问题。
-
它们只是服务而不是 IntentService。该架构采用这种方式,主要活动绑定到所有可用服务(但不启动它们)只是为了在应用程序运行期间维护它们,并且通过关闭它将关闭所有服务。每个活动都会启动自己的服务。当服务启动时,您从活动中出来并前往另一个。但我想将数据从当前活动的服务发送到其他服务。只是主要活动将停止服务而不是子活动。
标签: android android-activity service broadcastreceiver broadcast