2010-07-12 58 views
10

我有一個應用程序,我希望更新的活動(列表活動要準確),只有當從服務活動是在前臺(活動)刷新從服務中的活動時主動

我可以使用ListActivity意向但問題是,即使它在後臺,也會帶來活動。

我也考慮過在ListAdapter上使用registerDataSetObserver,但是它強制光標應該被更新。從外部服務更新光標可能不可行。

我們對此有一個通用的解決方案嗎?

回答

20

我們有一個通用的解決方案,這個 ?

可能是其中的一打。這裏有幾個:

  • 有活動onResume()註冊該服務的偵聽器對象,並刪除其在onPause()
  • 發送私人廣播,通過registerReceiver()拾起活動時,它是在前臺
  • 有活動提供一個「等待結果」式PendingIntent到服務
  • 使用ResultReceiver
  • 使用ContentProvider,與該活動舉辦到Cursor來自提供商,並且服務更新提供商

This set of projects演示前三個,在遠程服務的上下文中。

+0

感謝。我只是用你的第二個選項,它運作得很好。 – 2012-11-14 23:34:55

0

最好的解決方案是有一個集中的地方。我認爲這是最好的解決方案。 檢查了這一點:

click here