2012-01-17 111 views
1

我有兩個服務A和B.如果我們想訪問服務A中的服務B的一些方法,我們必須創建一個ServiceConnection類並在服務A中創建存根並實現方法。在綁定服務中訪問遠程服務方法

但我也希望從服務B.訪問服務的方法,對於審判我創建了一個更AIDL連接,並實現ServiceConnection它工作得很好,它是唯一的出路,或者我們可以利用現有的 serviceconnection和實施這種功能通過其他方式?

+0

你需要支持跨進程「談話」嗎?如果你在同一個過程中運行,除非你絕對喜歡它,否則你真的不需要打擾AIDL。 – Jens 2012-01-26 09:10:36

+0

是的兩個服務都在diff過程中。 – 2012-01-26 12:18:36

+0

@BrijeshMasrani - 這個解決方案對你有幫助嗎?記住AIDL是昂貴的。雖然沒有真正用於「Android」開發,但套接字將是創建雙向通信線路的簡單方法。 – jjNford 2012-03-02 15:52:10

回答

1

我認爲這是AIDL根據我的經驗工作的唯一方法。您始終可以創建一個自定義回調,可以從服務A傳遞到服務B中,然後當B想要發回給A時,它可以觸發回調。還可以選擇是來回傳遞意圖還是通過套接字進行溝通。只要確保你在另一邊阻止。