我目前正在为android os开发一个应用程序,该应用程序需要不时从远程服务器获取数据。
因为即使实际的前端应用程序未运行,也应执行此“更新”,所以我实现了在系统启动时启动的远程服务。现在我需要安排一个计时器来开始更新。
“计时器”级适合此工作吗?并且如果为“是”:“正常” Timer()与由Timer(true)作为“守护程序”启动的Timer()有什么区别?
http://developer.android.com/reference/java/util/Timer.html对此不是很有帮助:(
编辑:
好的-我看到有比我预期更多的方法。澄清:
我认为这里有人知道适用于Android的“newsrob”吗?我想实现的功能与newsrob-updateservice几乎相同。
最佳答案
使用AlarmManager
。这使您可以设置时间表,然后退出组件。您的代码不需要保留在内存中,并且会在警报响起时触发。
我实现了在系统启动时启动的远程服务
Please don't do that仅用于计划任务。使用AlarmManager
。
如果您希望在手机处于睡眠状态时完成工作,则需要使用_WAKEUP
警报类型,并可能使用类似 WakefulIntentService
的名称来使设备在工作完成时保持唤醒状态。