0

我正在使用 AlarmManager,试图为 android 创建一个警报应用程序。我注意到手机休眠时 setRepeating 不起作用。所以,我尝试了 setExactAndAllowWhileIdle。

但是,我读到了这个:

与其他警报不同,系统可以自由地重新安排此类警报,使其与任何其他警报(即使来自同一个应用程序的警报)一起发生故障。这显然会在设备空闲时发生(因为此警报可能会在空闲时响起,此时来自应用程序的任何其他警报将一直保持到稍后),但即使在非空闲时也可能发生。请注意,操作系统将允许自己比常规精确警报更灵活地安排这些警报,因为应用程序已选择此行为。当设备空闲时,为了优化电池寿命,它可能需要更多的调度自由。

我需要准确的时间,比如闹钟。用户将其设置为早上 6:00,然后在 6:01 或 6:02 响铃会很奇怪!因为电话空闲而根本不响铃是灾难性的!

我现在能做什么?

4

1 回答 1

0

请勿为此使用重复警报。它们不够准确/可靠。set()使用或setExact()(取决于您的目标 API 级别)安排一个警报。当该警报响起时,设置下一个。

注意:确保您使用能够唤醒手机的闹钟类型:

  • RTC_WAKEUP或者
  • ELAPSED_REALTIME_WAKEUP
于 2017-06-23T11:45:54.493 回答