Как работает AlarmManager ELAPSED_REALTIME?

В документации по Android (https://developer.android.com/reference/android/app/AlarmManager#ELAPSED_REALTIME) говорится, что ELAPSED_REALTIME дает «Время будильника в SystemClock.elapsedRealtime() (время с момента загрузки, включая спящий режим)».

Но целочисленное значение, возвращаемое AlarmManager.ELAPSED_REALTIME, всегда равно 3. Является ли ELAPSED_REALTIME просто постоянным значением, которое всегда остается равным 3?

3 - постоянное значение AlarmManager.ELAPSED_REALTIME, вы должны установить этот тип при настройке AlarmManager.

Krishna Sharma 08.08.2018 09:26
0
1
214
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да! Это константа, в предоставленной вами ссылке на документы вы можете увидеть постоянное значение:

Constant Value: 3 (0x00000003)

API Android часто используют эти постоянные значения в своих API. Вам нужно вызвать API так:

 alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, //other stuff);

В этом случае ELAPSED_REALTIME сообщит AlarmManager, какой тип сигнализации использовать. Под капотом это будет просто целое число 3.

Чтобы вы лучше это поняли, вот источник:

https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/app/AlarmManager.java#L437, там вы можете увидеть @AlarmType int type, который будет использоваться для установки тревоги.

Также см. Следующее свойство:

public static final int ELAPSED_REALTIME = 3;

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