我需要在我的Android应用程序中定期(每20分钟)从服务器获取新闻/事件更新。据我所知,使用Intent Service和Broadcast Receiver组合会比使用Service更好,因为我不需要与正在运行的Service通信。为了定期获取事件,我知道有两个选项:
1)使用TimerTask ScheduleAtFixedRate,我将启动IntentService,该服务将获取事件并在有任何更新时进行广播并销毁自身。在给定时间间隔后,TimerTask将再次启动IntentService。
2)仅在应用程序启动时启动Intent Service,并在Intent Service的onHandleIntent方法中启动一个TimerTask ScheduleAtFixedRate。如果这是首选方式,请告诉我何时取消计时器任务,以及Intent Service何时被销毁。
或者我必须使用Alarm Manager。请注意,只要我使用应用程序,我都需要这些更新,而且我需要每20到30分钟更新一次,而不是每1或3分钟更新一次。
请有经验的人建议我,谢谢。
1)使用TimerTask ScheduleAtFixedRate,我将启动IntentService,该服务将获取事件并在有任何更新时进行广播并销毁自身。在给定时间间隔后,TimerTask将再次启动IntentService。
2)仅在应用程序启动时启动Intent Service,并在Intent Service的onHandleIntent方法中启动一个TimerTask ScheduleAtFixedRate。如果这是首选方式,请告诉我何时取消计时器任务,以及Intent Service何时被销毁。
或者我必须使用Alarm Manager。请注意,只要我使用应用程序,我都需要这些更新,而且我需要每20到30分钟更新一次,而不是每1或3分钟更新一次。
请有经验的人建议我,谢谢。