Android服务中的定时器任务和闹钟管理器用法对比

6
我需要在我的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分钟更新一次。
请有经验的人建议我,谢谢。

这个链接解释了Android中使用AlarmManager代替TimerTask的服务的区别。 - kiduxa
1个回答

7

建议使用AlarmManager。我之前尝试过TimerTask,但在某些设备上无法正常工作并且会在一段时间后被终止。


你能否建议我应该遵循哪种方法,1号还是2号?如果可能的话,请给一些示例链接。感谢快速回复。 - Ganesh K
你可以使用AlarmManager来触发进行HTTP通信的线程。 - AAnkit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接