setAlarmClock和setExactAndAllowWhileIdle之间的区别

时间:2018-06-22 19:19:59

标签: android

以下链接中提到了以下内容(与API级别23中的打mentioned模式有关):

  • 如果您需要设置在打ze睡时触发的警报,请使用setAndAllowWhileIdle()或setExactAndAllowWhileIdle()。
  • 使用setAlarmClock()设置的警报继续正常触发-在这些警报触发之前,系统立即退出Doze。

就打ze模式而言,setExactAndAllowWhileIdle和setAlarmClock有什么区别?

setAlarmClock是否是确切的警报?

https://developer.android.com/training/monitoring-device-state/doze-standby#testing_doze_and_app_standby

谢谢。 J

1 个答案:

答案 0 :(得分:0)

是的setAlarmClocksetExactAndAllowWhileIdle相同。来自Android Developers DocumentationsetAlarmClock

  

由于这种警报的性质,类似于   setExactAndAllowWhileIdle(int,long,PendingIntent),这些警报将   即使系统处于低功耗空闲状态也可以触发   (也称为打do睡)模式。

setAndAllowWhileIdleset相同,除了在设备处于打ze模式时会被触发。如果在短时间间隔内设置了多个setAndAllowWhileIdle警报,则系统可能会立即触发所有警报,而不是在几秒钟/分钟后一次触发它们。来自文档:

  

在正常系统操作下,它不会再发送这些警报   大约每分钟(此时每个此类待处理的警报是   派遣);在低功率空闲模式下,此持续时间可能为   明显更长,例如15分钟。