Android 服务中定时器任务与警报管理器的使用
我需要定期从服务器获取新闻/事件更新,例如在我的 Android 应用程序中每 20 分钟一次。据我所知,意图服务和广播接收器的组合会比使用服务更好,因为我不会与正在运行的服务进行通信。为了定期获取事件,我知道 2 个选项
1)使用计时器任务 ScheduleAtFixedRate,我将启动 IntentService,它将一次获取事件广播是否有任何更新并销毁自身。在给定的时间间隔之后,TimerTask 将再次触发 IntentService
2) 只需在应用程序启动时启动 Intent Service,并在 Intent Service 的 onHandleIntent 方法中启动 TimerTask ScheduleAtFixedRate。如果这是首选方式,我如何以及何时取消计时器任务以及意图服务何时将被销毁。
或者我必须使用警报管理器。请注意,只要我使用该应用程序,我就需要这些更新,而且我需要每 20 到 30 分钟更新一次,而不是每 1 或 3 分钟更新一次。
任何人请建议我,提前致谢。
I need to fetch news/event updates from the server at regular intervals like for every 20mins in my Android App. AFAIK Intent Service and Broadcast Receiver combination will be better than using Service As I am not going to communicate with the running Service. In order to fetch events at regular intervals I know 2 options
1) Using Timer Task ScheduleAtFixedRate, I am going to start IntentService, which will fetch events once & broadcast if any updates and destroy itself. After Given Interval, IntentService will be again fired by TimerTask
2) Simply starting Intent Service at the start of app and within Intent Service onHandleIntent method Starting a TimerTask ScheduleAtFixedRate. If this is preferred way, How and when I cancel Timer Task and When the Intent Service is going to get Destroyed.
or I have to use Alarm Manager. Note I need these updates as long as I am using the App, also I need updates for every 20 to 30 mins not for every 1 or 3 mins.
Any body please suggest me, Thanks in Advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
去找 AlarmManager。我之前尝试过TimerTask,它在某些设备上无法正常工作,并且在一段时间后被杀死。
Go for AlarmManager. I have tried TimerTask before, it does not work properly in some devices and get killed after some time.