AlarmManager.RTC 在唤醒时执行过多更新

发布于 2025-01-01 01:29:15 字数 199 浏览 2 评论 0原文

我有一个通过 AlarmManager.RTC 每 30 分钟运行一次的服务。如果设备处于睡眠状态的时间足够长,足以使服务被调用两次(从而重新安排它们),那么当它醒来时,它会立即关闭服务两次。

AlarmManager 所需的行为是在唤醒时仅触发一个 Intent。我怎样才能做到这一点?

I've got a service that I run every 30 minutes via AlarmManager.RTC. If the device is asleep long enough for the service to be called twice (and thus have both of them be rescsheduled), when it wakes up, it fires off the service twice at once.

The desired behavior is for the AlarmManager to just fire off one Intent when it wakes up. How can I accomplish this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

喵星人汪星人 2025-01-08 01:29:15

试试这个:

PendingIntent.FLAG_UPDATE_CURRENT

Try this:

PendingIntent.FLAG_UPDATE_CURRENT
听你说爱我 2025-01-08 01:29:15

您是否取消了旧的警报管理器。如果没有办法,只需使用 PendingIntent 取消旧的

看看这个 公共软件示例

Have you cancel the old one of Alarm Manager. If no means, just cancel the old one with PendingIntent

Have a look at this Commonsware Example

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