2013-05-16 34 views
0

我需要通過檢查xml來每分鐘更新一次以瞭解是否需要更新。每分鐘做一次更新的最佳方式

我某種方式之間猶豫,因爲我還沒有proprely瞭解在Android

我可以做誰發起的每一分鐘我的活動需要一個reicever或者服務活動的報警服務?

我可以每分鐘發起一次服務嗎?

或者需要我在我的服務中每分鐘啓動一個功能的循環?

我可以(如果我使用警報和清洗許多時間相同的活動/服務)保持一個變量,以知道我是否需要更新我的意思是,如果我需要在更新過程中的大文件,它可以超過1分鐘,我不想同時啓動多個更新,所以我需要使用布爾值來知道更新是否處於活動狀態。

+0

在TIME_TICK廣播上註冊廣播接收器。它每分鐘都會發生。 – njzk2

回答

0

你不爭取回答我:P

我發現了什麼。 我已經做了一個擴展服務一個更新執行的更新類全部更新並退出服務該服務不會在後臺全部運行 而且我將它加入到每60秒啓動一次的鬧鐘管理器 我的代碼看起來像這樣

Intent i = new Intent(); 
ComponentName comp = new ComponentName(getPackageName(),Update.class.getCanonicalName()); 
i.setComponent(comp); 
PendingIntent pending = PendingIntent.getService(this, 0, i,PendingIntent.FLAG_UPDATE_CURRENT); 
AlarmManager amgr = (AlarmManager) getSystemService(ALARM_SERVICE); 
amgr.setRepeating(AlarmManager.RTC, SystemClock.elapsedRealtime(),60000, pending); 

我仍然不知道這是最好的方式還是最好的辦法,但它的工作。

0

我認爲這是一個好主意。我也在尋找類似的解決方案。另一種方法是註冊一個廣播接收器來計時並將應用更新到特定的時間(見How to update an app widget on midnight?),但我認爲您的解決方案在節省CPU資源方面是最好的。不要爲ACTION_BOOT_COMPLETED註冊BR,它會重新啓動您的更新服務。

相關問題