定时器任务VS闹钟管理器在Android服务中的使用



我需要定期从服务器获取新闻/事件更新,例如在我的Android应用程序中每隔20分钟。AFAIK意图服务和广播接收器组合将比使用服务更好,因为我不打算与运行的服务进行通信。为了定期获取事件,我知道2个选项

1)使用定时器任务ScheduleAtFixedRate,我将启动IntentService,它将获取事件一次&如果有任何更新就广播,然后自我毁灭。在给定间隔之后,IntentService将再次被TimerTask触发

2)简单地在应用程序开始时启动意图服务,并在意图服务的onHandleIntent方法中启动TimerTask ScheduleAtFixedRate。如果这是首选的方式,如何以及何时取消定时器任务,以及何时意图服务将被销毁。

,否则我必须使用警报管理器。注意,只要我使用应用程序,我就需要这些更新,我也需要每20到30分钟更新一次,而不是每1或3分钟更新一次。

如果有人推荐我,请提前感谢。

选择AlarmManager。我之前尝试过TimerTask,它在某些设备上不能正常工作,并且在一段时间后被杀死。

最新更新