我目前正在为 Android 操作系统开发一个显示一些数据的应用程序。为确保此数据是最新的,应用程序需要不时从远程服务器获取更新。 由于数据不会经常更改,因此应每周更新一次。我想让用户能够选择更新的工作日和白天(并可选择完全禁用此功能)。
问题是:即使用户此时没有使用手机,即使手机当前处于 hibernate 状态,即使手机最近重新启动且应用程序尚未启动,也应该执行此更新还没有。
我首先想到的是在系统启动时启动的远程服务,确定运行更新的时间,设置计时器,然后等待/hibernate 以等待计时器触发。
现在,我被告知我应该使用警报计时器或某种处理程序......我对这个主题的了解越多,似乎存在越多的方法来做到这一点。
现在,我有点迷茫哪种方法最适合我...所以这是我需要的:
我想这里有人知道 android 的“newsrob”吗?我想要实现的与 newsrob-updateservice 几乎相同。
最佳答案
Android Service + Broadcast Receiver + Alarm Service 将解决你的目的-
您的服务将从 BroadCast Receiver 调用,在 Broadcast Receiver 中您应该注册各种事件 - BOOT_RECEIVER 、 ACTION_USER_PRESENT ,这将负责您的 ALARM 重置和更新任务。
谢谢。
关于java - 如何实现更新服务在后台运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3889014/