AlarmManager - 如何在每小时整点重复闹钟?
我希望每小时触发一次事件(5:00、6:00、7:00 等)。 我尝试使用带有线程的持久后台服务,但这不是正确的解决方案,因为:
- 电池消耗
- 由于android内存管理,
服务终止所以我正在尝试使用AlarmManager。如果我设置一个警报在 X 秒内触发(使用“set”方法),它就会起作用。 但是我怎样才能在每小时的顶部重复一个事件(使用“setRepeating”方法),直到闹钟被取消?
谢谢!
I want for an event to fire every hour (at 5:00, 6:00, 7:00, etc...).
I tried with a persistent background service with a thread but it wasn't the right solution because of:
- battery consumption
- service termination, due to android memory management
So I'm trying with AlarmManager. It works if I set an alarm to fire in X seconds (using "set" method).
But how can I repeat an event (using "setRepeating" method) at the top of every hour, until the alarm is canceled?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
设置闹钟时,您有两个时间:第一个触发时间和下一个触发时间间隔。
然后,您必须计算到下一个小时的剩余毫秒数,然后将重复间隔设置为一小时。
When you set alarms you have two times: First trigger time, and the next trigger interval.
You then have to calculate the remaining miliseconds to the next top of the hour, then set one hour for the repeating interval.