0

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

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

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

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

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

4

2 回答 2

1

将 2 个活动绑定到同一个服务并不过分。这实际上是做我理解您正在尝试做的事情的正确方法:访问由 2 个不同活动的服务提供的 xmpp 功能。

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

当然,您可以将所有绑定放在一个地方,例如单例或 Application 类。

于 2012-09-21T14:10:41.093 回答
0

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

于 2012-09-21T14:02:54.887 回答