在我的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