Android 服务中定时器任务与警报管理器的使用

发布于 2024-12-23 14:54:12 字数 495 浏览 2 评论 0原文

我需要定期从服务器获取新闻/事件更新,例如在我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

懒猫 2024-12-30 14:54:12

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

Go for AlarmManager. I have tried TimerTask before, it does not work properly in some devices and get killed after some time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文