Android 当主应用程序不在';t运行

Android 当主应用程序不在';t运行,android,background-process,Android,Background Process,我正在实施一个后台进程,该进程将更新我的应用程序使用的信息。 我只希望这个过程每天更新一次,如果这个过程得到的数据比我想向用户发送通知之前更新了,就像twitter/gmail一样 我希望更新过程自动运行,即使主应用程序未打开 服务是最好的方式吗?我已经读了很多关于这方面的书,我觉得一个每天只工作一次的服务一直在运行似乎有点过分了 然而,我注意到谷歌在我的nexus上持续运行friendlocation服务和google+服务 我已经研究过通过AlarmManager启动我的服务,因此它只在需要

我正在实施一个后台进程,该进程将更新我的应用程序使用的信息。 我只希望这个过程每天更新一次,如果这个过程得到的数据比我想向用户发送通知之前更新了,就像twitter/gmail一样

我希望更新过程自动运行,即使主应用程序未打开

服务
是最好的方式吗?我已经读了很多关于这方面的书,我觉得一个每天只工作一次的服务一直在运行似乎有点过分了

然而,我注意到谷歌在我的nexus上持续运行friendlocation服务和google+服务

我已经研究过通过AlarmManager启动我的服务,因此它只在需要时启动。 一些帖子还建议使用
处理程序
类,我认为这不管用

只是在这里寻找最佳实践

我觉得一个每天只工作一次的服务总是在运行,这似乎有点过分了

当然

我已经研究过通过AlarmManager启动我的服务,因此它只在需要时启动

这是正确的答案

如果您只希望在设备打开时调用代码,请实施
IntentService
,在其
onHandleIntent()
中执行工作,并让
AlarmManager
按照您所需的计划启动服务


如果您希望您的代码强制手机唤醒,您可以这样做,但您需要使用
\u WAKEUP
-风格的闹钟,并且您可能需要查看我的,设计用于处理此模式的闹钟。

谢谢,听起来我的思路是对的,谢谢您的详细说明。