2013-05-03 87 views
0

駁回progressDialog我有這種結構的機器人應用:啓動和從服務

活性A,B,C, 服務S

當我在活動CI打開一個對話框,其中我插入一些數據。當按下OK按鈕時,我做這兩種操作:

  1. 啓動服務
  2. 徵集啓動活動A中的意圖(即主要活動)

,直到服務不提供所有必要的數據,活動A將顯示不一致的數據,並且所有按鈕都將被禁用。我會那直到數據不可用,我進度欄顯示。

所以問題是我需要從活動C中的對話框啓動我的progressDialog,我需要將對話框「鏈接」到主要活動(A),並從Service中關閉此progressDialog。

我該如何執行此任務?

回答

1

使用LocalBroadcastManager在onStart中註冊它,並在onPause中取消註冊要與服務進行通信的活動。在工作完成時,在服務中計算昂貴的操作併發送廣播。 在Activity C中顯示進度對話框。當作業完成時關閉進度對話框並啓動活動A. 或者您可以在Activity A中檢查onCreate中的標誌,以瞭解是否需要顯示progressDialog以及服務sendBroadcast何時關閉progressDialog。