2011-10-21 35 views
0

在我的應用程序中,我需要根據用戶的喜好每隔5秒或10秒或1分鐘刷新一次數據。Android,使用系統定時器作爲廣播接收器是否可行?

我可以創建線程和使用計時器類,但我想知道是否有任何其他方式?例如系統定時器發送標誌(廣播東西),我得到它在應用程序(爲了刷新我的數據)?

感謝

回答

1

如果您想每刷新一次數據就刷新一次數據,您可以設置一個Hanlder來執行此操作。但是,這需要您的活動持續運行。

如果您想在某個特定時間執行某些操作,例如鬧鈴。您可以使用AlarmManager。這會讓你的活動或其他組件失去活力,即使它現在沒有運行。

如果您只是想監視系統時間的變化。那麼,有一個意圖ACTION_TIME_TICK。你可以註冊一個BroadcastReceiver來監聽它,並在系統進行廣播時實現你自己的代碼。但是,「TICK」間隔僅爲「一分鐘」,不能更改。

1

AlarmManager是你在找什麼。它可以用於設置通過PendingIntent(可以變成意圖廣播)的定期事件。

除非設備總是連接到電源,特別是在通過網絡進行檢查時,否則我會謹慎檢查此類常規間隔內的新數據。有了這麼小的輪詢時間間隔,電池將在數小時內保持平穩。