主应用程序未运行时显示通知的后台进程

时间:2011-07-15 11:04:37

标签: android background-process

我正在实施一个后台流程来更新我的应用使用的信息。 我只想让这个过程每天更新一次,如果这个过程获得的数据比我想要向用户提供通知之前的数据更新,就像twitter / gmail那样。

我希望更新过程能够自动运行,即使主应用程序未打开也是如此。

Service是最好的方式吗?我一直在阅读这篇文章,我觉得一个服务一直在运行,每天只能做一次工作似乎有点矫枉过正。

但是我注意到google运行服务的friendlocation和谷歌+服务连续在我的nexus。

我期待通过AlarmManager启动我的服务,因此它只在需要时启动。 有些帖子还建议使用Handler类,我认为这不会起作用。

在这里寻找最好的做法。

1 个答案:

答案 0 :(得分:2)

  

我认为一项服务一直在运行,因为每天只能做一次工作似乎有点矫枉过正。

绝对

  

我期待通过AlarmManager启动我的服务,因此它只在需要时启动。

这是正确答案。

如果您只希望在设备启用时调用您的代码,请实施IntentService,在onHandleIntent()中执行您的工作,并AlarmManager启动您的服务期望的时间表。

如果您希望代码强制唤醒手机,您可以这样做,但您需要使用_WAKEUP式闹钟,并且您可能希望查看我的{{3} },旨在处理这种模式。