Разница между setAndAllowWhileIdle и setExactAndAllowWhileIdle

Какая разница между AlarmManager.setAndAllowWhileIdle() а также AlarmManager.setExactAndAllowWhileIdle()? Как они оба влияют на режим ожидания, введенный в API Android 6.0 (Marshmallow)?

1 ответ

Обратитесь к документации AlarmManager:

Примечание. Начиная с API 19 (KITKAT), выдача аварийных сигналов является неточной: ОС будет сдвигать аварийные сигналы, чтобы минимизировать пробуждения и использование батареи. Существуют новые API для поддержки приложений, которые требуют строгих гарантий доставки; см. setWindow(int, long, long, PendingIntent) и setExact(int, long, PendingIntent). Приложения, для которых targetSdkVersion более ранний, чем API 19, будут по-прежнему видеть предыдущее поведение, при котором все тревоги доставляются точно по запросу.

Действительно, оба метода, которые вы упомянули, указывают, что они ведут себя как их аналоги без AndAllowWhileIdle (set а также setExact). Таким образом, один из них доставит сигнал тревоги в точное время, а другой не будет точным.

Другие вопросы по тегам