每10分钟检查一次更新并进行通知

时间:2014-03-04 21:41:44

标签: android notifications

我正在开发一个从服务器下载JSON文件的应用程序,并在列表视图中显示信息,没什么了不起的。但我想让它更有用。我想做的是每10或x分钟下载一次文件并检查是否有变化。如果有什么变化,我想发出通知。所以它基本上类似于邮件应用程序,如果新邮件到达,应用程序会在后台检查每x分钟。但我真的不知道如何制作像背景活动那样的东西,即使我的应用程序不活跃也会不断检查文件。我已经阅读了有关AlarmManager的内容,但看起来它并不像我想要的那样工作。那么你有什么技巧可以管理它吗?

2 个答案:

答案 0 :(得分:3)

基本上您有两种选择:使用Alarm Manager或使用服务。

如果您不想为自己想要的内容提供用户界面,那么无论您使用哪种方法,最终都会使用服务。我解释一下:

如果您使用独立服务,您负责实例化并终止它,您需要处理它的生命周期,并拥有一个每10分钟启动一次的计时器来完成您的工作。此外,您需要考虑服务因内存原因而被杀死的情况。

如果使用Alarm Manager,则可以在意图中传递服务。该服务不需要用户界面,只需负责在启动时完成工作并在完成后自行结束。

我会将警报管理器与服务一起使用,请检查here for an example

答案 1 :(得分:0)

如果您控制服务器,请考虑使用Google Cloud Messaging而不是让所有客户端一遍又一遍地轮询服务器。这样可以节省电池电量和服务器负载。

如果它必须是普通的HTML服务器,那么就像Merlevede解释的那样使用Alarm Manager,并在下载之前使用HTTP If-Modified-Since: dateHTTP Etag检查文件是否被修改。