我需要定期从服务器获取新闻/事件更新,例如在我的 Android 应用程序中每 20 分钟一次。AFAIK 意图服务和广播接收器组合将比使用服务更好,因为我不会与正在运行的服务进行通信。为了定期获取事件,我知道 2 个选项
1) 使用 Timer Task ScheduleAtFixedRate,我将启动 IntentService,它会获取一次事件并在有更新时广播并自行销毁。给定时间间隔后,IntentService 将再次被 TimerTask 触发
2) 只需在应用程序启动时启动 Intent Service 并在 Intent Service onHandleIntent 方法中启动 TimerTask ScheduleAtFixedRate。如果这是首选方式,我如何以及何时取消计时器任务以及意图服务何时被销毁。
或者我必须使用警报管理器。请注意,只要我使用该应用程序,我就需要这些更新,而且我需要每 20 到 30 分钟而不是每 1 或 3 分钟更新一次。
任何机构请建议我,在此先感谢。