2011-12-13 44 views
3

所以,MyActivity會有一個進度條。 MyActivity的BroadcastReceiver將抓住「START_TASK」的意圖。之後,隨着時間的推移,我想更新MyActivity的進度條。我最初試圖從服務中處理這個問題,但我不知道如何從服務訪問MyActivity的進度條(或者如何在服務中創建進度條並將其放置在MyActivity的屏幕上)。如何在後臺管理ProgressBar?

+0

我願意使這項工作還有的另一種方式。只要我能將它運用起來,我並不特別關心這個方法。 – Brianide

+0

有很多關於如何使用進度條的例子:) – Warpzit

回答

1

你不從服務訪問活動的進度條:你的服務將消息發送到你的活動,在適當的速度不管它是你正在試圖做的,讓你的活動對這些消息作出響應通過更新自己的進度條。

如果您可以更詳細地瞭解您希望進度條跟蹤的後臺任務的性質,這將有所幫助:如果後臺任務是重要的,並且活動僅僅向您顯示進度如何,那麼服務是正確的使用。如果是短暫的和沒有意義之外,那麼活動,那麼你很可能被使用的AsyncTask和更新其onProgressUpdate進度條(不過要小心你不漏的AsyncTask當屏幕方向的變化)。

也許看這裏:How to have Android Service communicate with Activity

+0

謝謝。我今晚會更多地考慮這一點。我試圖通過讓我的服務每秒向我的活動進行廣播而在昨天得到這個工作,但是某些事情沒有正確地發生。我稍後會發布一些代碼。 – Brianide