Android - 空闲时允许重复警报

Posted

技术标签:

【中文标题】Android - 空闲时允许重复警报【英文标题】:Android - Repeating Alarms Allowed While Idle 【发布时间】:2017-01-07 18:33:40 【问题描述】:

我需要每隔 X 小时设置一个重复警报,即使在打瞌睡模式下也会触发。但是,android 23 的 AlarmManager 中唯一可用的 API 是 setExactAndAllowWhileIdle 和 setAndAllowWhileIdle,它们不用于重复警报。

我想知道是否应该在每次触发警报时重新安排警报时间?还是有更好的解决方案?

【问题讨论】:

这仍然可以在 Oreo 及更高版本中完成吗?setExactAndAllowWhileIdle 并每隔 X 间隔设置一个重复警报,甚至可以在打瞌睡模式下触发。有没有人有样品我该怎么做。 【参考方案1】:

我想知道是否应该在每次触发警报时重新安排警报时间?

这正是你应该做的。

doze 背后的想法是试图防止耗尽电池电量。重复闹钟会耗尽电池电量,因此在 android 6 中删除了通过传递额外参数重复闹钟的内置方法。它仍然可以完成,但正如您所想的那样,这需要您手动重新安排闹钟。

请务必在触发警报时立即重新安排警报,然后再做任何其他可能出错的事情并防止警报被重新安排。

【讨论】:

调用哪个方法来设置它?你应该打电话给setAndAllowWhileIdle() 还是别的什么? 这会绕过 Oreo 中的后台执行限制吗?我对此表示怀疑。我使用它,但 Android 仍然显示不允许后台启动:服务 @NinjaCoder 我看不出这与安排警报有什么关系 我的错。我将这个答案与PendingIntent中的服务安排警报混淆了@ 如何在打盹模式下重新安排闹钟?我可以获得参考链接

以上是关于Android - 空闲时允许重复警报的主要内容,如果未能解决你的问题,请参考以下文章

com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com/google/androi

在Android警报管理器中设置时间-立即触发警报[重复]

Android重复警报未正确重复

如何在 Android 上实现通过另一个屏幕上的操作关闭的警报?

android重复警报,应按月重复,每个月在同一天重复,依此类推

如何在 Android 中停止重复警报服务?