我有一项绑定到服务的活动。该服务提供与XMPP服务器交互的功能。
然后,活动启动第二个需要访问同一服务的活动(例如,发起语音呼叫)。
我正在考虑将第二个活动再次绑定到同一个服务,但它似乎是一个过度杀伤,因为当第二个活动开始时,服务应该已经存在并应该存在,直到第一个活动故意销毁它(再次绑定)表示创建新连接并等待绑定在使用服务之前异步发生。)
目前我正在使用startActivityForResult()启动第二个活动,然后我等待结果并从第一个活动访问服务,但我想更改逻辑(第二个活动必须与服务然后第一个负责在从服务收到信号时关闭第二个活动。)
关于如何将服务对象传递给第二个活动的任何建议?
答案 0 :(得分:1)
将2个活动绑定到同一个服务并不过分。它实际上是我理解你正在尝试做的事情的正确方法:从2个不同的活动中访问服务提供的xmpp函数。
通过绑定第二个活动,您将无法再次启动该服务,因为它已经启动。它将连接到与第一个活动相同的服务。
当然,你可以将所有绑定放在一个地方,比如单例或Application类。答案 1 :(得分:0)
您可以在Application中存储对它的引用,然后从第二个活动中访问它。