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

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

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

【问题讨论】:

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

标签: android android-6.0-marshmallow android-alarms android-doze android-doze-and-standby


【解决方案1】:

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

这正是你应该做的。

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

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

【讨论】:

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