计时器任务VS Android服务中的警报管理器使用

时间:2011-12-30 12:19:15

标签: android service alarmmanager timertask

我需要定期从服务器获取新闻/事件更新,例如我的Android应用中每20分钟一次。 AFAIK Intent Service和Broadcast Receiver组合将比使用Service更好。因为我不打算与正在运行的服务进行通信。为了定期获取事件,我知道2个选项

1)使用Timer Task ScheduleAtFixedRate,我将启动IntentService,它将获取一次&广播如果有任何更新并自行销毁。在给定Interval之后,TimerTask将再次触发IntentService

2)只需在应用程序启动时和Intent Service中启动Intent Service onHandleIntent方法启动TimerTask ScheduleAtFixedRate。如果这是首选方式,我何时以及何时取消计时器任务以及何时意图服务被销毁。

或者我必须使用Alarm Manager。注意我需要这些更新,只要我使用应用程序,我也需要每20到30分钟更新一次,而不是每1或3分钟更新一次。

任何人都请建议我,提前致谢。

1 个答案:

答案 0 :(得分:7)

转到AlarmManager。我之前尝试过TimerTask,它在某些设备上无法正常工作,并在一段时间后被杀死。