2010-10-04 90 views
1

我有一個類本質上是一個消息管理器(單身),有一個計時器輪詢狀態。 (statusPollerTask僅僅是一個派生類的TimerTask的具有run()中定義)Android定時器停止運行

timer.scheduleAtFixedRate(this.statusPollerTask, 0, 1000); 

幾項活動與MSG-人更新(觀察者模式的風格),因爲它們變得可見註冊自己。工作正常,除非用戶按Home按鈕並最小化應用程序。有時候定時器會在其他時間不停地輪詢。即使應用程序不可見,我也需要維護輪詢。我覺得我只是在這裏錯過簡單的東西。任何幫助表示讚賞!

回答

2

您應該使用Alarm Manager

這個類將確保您的活動被稱爲即使他們被摧毀,他們將再次創建。

+0

對不起,我很困惑。我並不擔心活動會在周圍發生,有時計時器會停止在timertask的運行方法中定義的輪詢。使用報警管理器,因爲我需要餵它一個意圖不想重新創建整個活動?或者我可以讓它變成一種特定的方法嗎? – bursk 2010-10-05 16:07:15

+0

您可以使用s廣播reveiver它會像調用一個特定的方法 – Jason 2010-12-16 06:12:26

+0

@Jason我們是否仍然使用TimerTask?或者單獨使用Alarm Manager?在後面的例子中,我怎樣才能將用戶界面與鬧鐘管理器同步(即當鬧鐘關閉界面時應該顯示0:00)? – wannik 2014-01-21 22:29:57