首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有AlarmManager的递归AlarmManager

带有AlarmManager的递归AlarmManager
EN

Stack Overflow用户
提问于 2014-08-18 23:11:34
回答 1查看 401关注 0票数 0

这或多或少是一个设计问题,但尽管如此。我有一个IntentService,它触发一个每15分钟就会调用一次的PendingIntent

我的问题是,对于AlarmManager,我是否应该使用:

  • set(...)
  • setRepeating(...)

我注意到setRepeating(...)的问题是,我很快就会进入一个无限循环,但我认为这是因为启动时间。如果我使用set(...);它在没有无限循环的情况下按预期工作;设计问题是,在每次报警调用之后,我是否应该使用setRepeating(...)而不是添加一个set(...)?如果是这样的话,在没有无限循环的情况下,我如何才能做到这一点,同时有一个递归的IntentService,每次警报响起时都会自动调用它自己?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-18 23:22:11

setsetRepeating都很好。

set更易于跟踪。您可以控制下一个启动IntentService的时间。

我建议使用setRepeating:为什么要重复自己?对于无限循环问题,在设置警报时,将一个boolean值保存在您的SharedPreferences中。在下一次启动IntentService时,检查值。如果是true,那么警报已经设置好了。否则,这一定是第一次启动:设置repeating警报。

您将需要实现一个侦听BOOT_COMPLETED操作的接收器。当接收到此意图时,在不检查SharedPreferences值的情况下设置重复警报。但是,在发出true请求后,请将此值设置为setRepeating

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25373443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档