2010-06-17 81 views
5

我想創建一個包含服務S和活動A的應用程序。服務S負責預處理,例如在活動之前準備活動A的UI上顯示的數據A被調用。Android - 服務和活動交互

我希望能夠從包的外部調用服務S,從其他Android應用程序的活動B類說,做預處理,然後當數據準備好,調用活動A.

我的問題是:

  1. 在服務S和活動A之間共享數據的最佳方式是什麼?
  2. 外部活動B如何與服務S進行通信以確定它是否已完成其所有預處理,並且可以調用活動A?

感謝 克里斯

+0

也許我可以使用廣播接收器讓服務告訴外部活動它已完成其預處理? – Chris 2010-06-18 00:26:39

回答

7

什麼是服務S和活動A之間共享數據 的最佳方式?

使用本地綁定模式並將Activity A綁定到Service S,然後調用服務的公開API以檢索所需的任何內容。

外部活動B 與服務S到 溝通如何確定其是否已與所有 其預處理完成的,活性的 準備被調用?

使用遠程綁定模式和AIDL。活動B將向服務S註冊AIDL定義的回調,服務將在適當時調用該服務。舉例來說,參見herehere

+0

最後它是有道理的!謝謝! – Chris 2010-06-18 01:04:35