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

Gan*_*h K 6 service android alarmmanager timertask

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

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

2)简单地在app的开头和Intent Service中启动Intent Service onHandleIntent方法启动TimerTask ScheduleAtFixedRate.如果这是首选方式,我何时以及何时取消计时器任务以及何时意图服务将被销毁.

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

任何身体请建议我,在此先感谢.

AAn*_*kit 7

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