2012-09-21 72 views
0

我有一個綁定到服務的活動。該服務提供了與XMPP服務器交互的功能。如何訪問父級活動所綁定的服務

然後,該活動啓動需要訪問相同服務(例如發起語音呼叫)的第二個活動。

我想再次將第二個活動綁定到相同的服務,但它看起來像一個矯枉過正的,因爲當第二個活動啓動服務應該已經存在,應該在那裏,直到第一個活動有意破壞它(綁定也意味着創建一個新的連接並等待綁定在使用服務之前異步發生)。

目前我使用startActivityForResult()啓動第二個活動,然後等待結果,並從第一個活動訪問服務,但我想更改邏輯(第二個活動必須與服務,然後第一個負責關閉從服務接收到信號時關閉第二個活動)。

有關如何將服務對象傳遞給第二個活動的任何建議?

回答

1

將2個活動綁定到同一個服務上並不過分。它實際上是我理解你正在嘗試做的事情的正確方式:訪問2個不同活動的服務提供的xmpp函數。

通過綁定第二個活動,您將不會再次啓動服務,因爲它已經啓動。它將連接到與第一個活動相同的服務。

當然,你可以把所有的綁定放在一個地方,比如單例或Application類。