Android 如何访问父活动绑定的服务

Android 如何访问父活动绑定的服务,android,android-activity,android-service,Android,Android Activity,Android Service,我有一个绑定到服务的活动。该服务提供与XMPP服务器交互的功能 然后,该活动启动需要访问同一服务的第二个活动(例如启动语音呼叫) 我曾考虑将第二个活动再次绑定到同一个服务,但这似乎有些过分,因为当第二个活动启动时,服务应该已经存在,并且应该一直存在,直到第一个活动故意销毁它为止(再次绑定意味着在使用服务之前创建一个新连接并等待绑定异步发生) 目前,我正在使用startActivityForResult()启动第二个活动,然后等待结果并从第一个活动访问服务,但我想更改逻辑(第二个活动必须与服务交互

我有一个绑定到服务的活动。该服务提供与XMPP服务器交互的功能

然后,该活动启动需要访问同一服务的第二个活动(例如启动语音呼叫)

我曾考虑将第二个活动再次绑定到同一个服务,但这似乎有些过分,因为当第二个活动启动时,服务应该已经存在,并且应该一直存在,直到第一个活动故意销毁它为止(再次绑定意味着在使用服务之前创建一个新连接并等待绑定异步发生)

目前,我正在使用startActivityForResult()启动第二个活动,然后等待结果并从第一个活动访问服务,但我想更改逻辑(第二个活动必须与服务交互,然后第一个活动负责在从服务接收回信号时关闭第二个活动)


关于如何将服务对象传递给第二个活动的任何建议?

您可以在中存储对它的引用,然后从第二个活动中访问它。

将两个活动绑定到同一个服务并不是过分的做法。这实际上是正确的方法,我知道您正在尝试这样做:访问由提供的xmpp函数来自2个不同活动的服务

通过绑定第二个活动,您将不会再次启动服务,因为它已经启动。它将连接到与第一个活动相同的服务

当然,您可以将所有绑定放在一个地方,比如单例或应用程序类