在我的Android應用程序中,我有一些需要每天同步的數據,但是當用戶在應用程序內時,還需要每小時更新一次。在Android應用中實現此行爲的最佳策略?
我已經實現了一項服務,可以從日常更新的警報中調用。我在制定策略來做每小時同步時遇到問題。我也可以使用每小時一次的警報並開啓同樣的意圖,但由於您的應用程序可能隨時被殺死,因此無法取消它(因爲他們使用相同的Intent,取消操作會取消所有警報,包括我的每日同步,所以這可能不太好)。
另一種選擇是使用在應用程序內部設置的定時器,並在應用程序內部激發我的意圖。我假設所有的計時器被取消時,一個應用程序被殺害嗎?但是我的應用程序由幾個活動組成,我希望計時器能夠在所有活動中工作,我該怎麼做?我不想複製代碼 - 我們已經使用Activity和ListActivity的子類。
其實這*是人們可能會使用數小時的應用程序類型(我不能說它完全沒有違反NDA)。 但是,我決定取消通過定時器/鬧鐘的小時更新的想法。 我決定實施的方案: *每天更新一次,通過一次警報(然後獲取新的數據併爲第二天設置新的警報)。 *如果用戶使用的應用程序,並自上次更新1小時以來,做後臺更新。 *對於一項特定活動,如果用戶更改了某些數據,我會將這些數據推出。 *用戶還可以隨時強制手動更新。 – Eno 2010-07-07 04:58:39
@Eno:聽起來像一個偉大的計劃。 – CommonsWare 2010-07-07 11:57:14
我希望在Android中有更完整的wakelock使用示例。我看了繁忙的編碼器的書,但林很難明白它的理解。 – Eno 2010-07-08 03:17:13