设置闹钟非常奇怪

时间:2015-12-30 14:53:35

标签: java android android-intent alarmmanager android-alarms

我在12:00,16:00和20:00设置了三个重复的每日闹钟。 但是我发现第一个闹钟不会按时启动,而是在11:59:34,12:00:12和12:00:56关闭。

我不知道为什么会这样,我读了很多文件,没有人给我答案。
请帮帮我!

这是我的代码:

total = dataset["cost"].sum(); <-- pseudo code

console.log(total) //would print 45

我已经多次测试过了 我无法在12:00:00启动闹钟,但在12:00:00左右我收到了两到三个闹钟 我不知道为什么它有时会起作用,有时候也不会。

2 个答案:

答案 0 :(得分:2)

根据official docs

  

注意:从API 19开始(KITKAT)警报传递不准确:操作系统   将移动警报以最小化唤醒和电池使用。那里   是支持需要严格交付的应用程序的新API   担保;见setWindow(int, long, long, PendingIntent)和   setExact(int, long, PendingIntent)。应用程序   targetSdkVersion早于API 19将继续看到   以前的行为,其中所有警报都在何时传递   请求。

答案 1 :(得分:0)

简而言之

  • for API&lt; 19您可以使用"SELECT * FROM [SheetName$]"方法。对于这些API,这将设置一个确切的警报
  • for 19&lt; = API&lt; 23您应该使用set()来设置确切的警报,并使用setExact()来设置不准确的警报
  • 对于API = 23,还引入了打盹模式,因此,如果您还希望即使手机处于打盹模式时闹钟响起,也应该使用set()方法。