AlarmManager.SetWindow Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| Имя. | Описание |
|---|---|
| SetWindow(AlarmType, Int64, Int64, PendingIntent) |
Запланируйте доставку сигнализации в течение заданного периода времени. |
| SetWindow(AlarmType, Int64, Int64, String, AlarmManager+IOnAlarmListener, Handler) |
Прямая версия обратного вызова setWindow(int,long,long,PendingIntent). |
| SetWindow(AlarmType, Int64, Int64, String, IExecutor, AlarmManager+IOnAlarmListener) |
Прямая версия обратного вызова setWindow(int,long,long,PendingIntent). |
SetWindow(AlarmType, Int64, Int64, PendingIntent)
Запланируйте доставку сигнализации в течение заданного периода времени.
[Android.Runtime.Register("setWindow", "(IJJLandroid/app/PendingIntent;)V", "GetSetWindow_IJJLandroid_app_PendingIntent_Handler")]
public virtual void SetWindow(Android.App.AlarmType type, long windowStartMillis, long windowLengthMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("setWindow", "(IJJLandroid/app/PendingIntent;)V", "GetSetWindow_IJJLandroid_app_PendingIntent_Handler")>]
abstract member SetWindow : Android.App.AlarmType * int64 * int64 * Android.App.PendingIntent -> unit
override this.SetWindow : Android.App.AlarmType * int64 * int64 * Android.App.PendingIntent -> unit
Параметры
- type
- AlarmType
тип сигнализации.
- windowStartMillis
- Int64
Самое раннее время в миллисекундах, которое должно быть доставлено сигналом, выраженным в соответствующих единицах часов (в зависимости от типа сигнализации).
- windowLengthMillis
- Int64
Длина запрошенного окна доставки в миллисекундах. Сигнализация будет доставлена не позже, чем после этого многих миллисекундах windowStartMillis. Обратите внимание, что этот параметр является длительностью, а не меткой времени конца окна.
- operation
- PendingIntent
Действие для выполнения при отключении сигнализации; обычно происходит из PendingIntent#getBroadcast
IntentSender.getBroadcast().
- Атрибуты
Комментарии
Запланируйте доставку сигнализации в течение заданного периода времени. Этот метод похож на set(int,long,PendingIntent), но позволяет приложению точно управлять степенью, в которой ее доставка может быть скорректирована ОС. Этот метод позволяет приложению воспользоваться преимуществами оптимизации батареи, возникающих из пакетной обработки доставки, даже если она имеет скромные требования к времени для своих предупреждений. Примечание. Начиная с Build.VERSION_CODES API. Приложения не должны проходить в окне менее 10 минут. Система попытается лучше всего разместить небольшие окна, если сигнализация должна срабочить в ближайшем будущем, но нет гарантий, и приложение должно ожидать, что любое окно меньше 10 минут, чтобы получить вытянутое до 10 минут. Этот метод также можно использовать для обеспечения строгого порядка между несколькими оповещениями, гарантируя, что окна, запрошенные для каждой сигнализации, не пересекаются. Если точную доставку не требуется, приложения должны использовать стандартный метод set(int,long,PendingIntent). Это позволит ОС максимально гибко свести к минимуму пробуждения и использования батареи. Для предупреждений, которые должны быть доставлены в точно указанное время без допустимых вариантов, приложения могут использовать setExact(int,long,PendingIntent).
См. также:
Справочник по Android для android.app.AlarmManager.setWindow.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".
Применяется к
SetWindow(AlarmType, Int64, Int64, String, AlarmManager+IOnAlarmListener, Handler)
Прямая версия обратного вызова setWindow(int,long,long,PendingIntent).
[Android.Runtime.Register("setWindow", "(IJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V", "GetSetWindow_IJJLjava_lang_String_Landroid_app_AlarmManager_OnAlarmListener_Landroid_os_Handler_Handler", ApiSince=24)]
public virtual void SetWindow(Android.App.AlarmType type, long windowStartMillis, long windowLengthMillis, string? tag, Android.App.AlarmManager.IOnAlarmListener listener, Android.OS.Handler? targetHandler);
[<Android.Runtime.Register("setWindow", "(IJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V", "GetSetWindow_IJJLjava_lang_String_Landroid_app_AlarmManager_OnAlarmListener_Landroid_os_Handler_Handler", ApiSince=24)>]
abstract member SetWindow : Android.App.AlarmType * int64 * int64 * string * Android.App.AlarmManager.IOnAlarmListener * Android.OS.Handler -> unit
override this.SetWindow : Android.App.AlarmType * int64 * int64 * string * Android.App.AlarmManager.IOnAlarmListener * Android.OS.Handler -> unit
Параметры
- type
- AlarmType
int: значение является одним из следующих: RTC_WAKEUP RTC ELAPSED_REALTIME_WAKEUP ELAPSED_REALTIME
- windowStartMillis
- Int64
long
- windowLengthMillis
- Int64
long
- tag
- String
Строка: это значение может иметь значение NULL.
- listener
- AlarmManager.IOnAlarmListener
AlarmManager.OnAlarmListener: это значение не может быть null.
- targetHandler
- Handler
Обработчик: это значение может иметь значение NULL.
- Атрибуты
Комментарии
Прямая версия обратного вызова setWindow(int,long,long,PendingIntent). Вместо отправки ожидающего объекта PendingIntent при достижении времени оповещения этот вариант предоставляет экземпляр OnAlarmListener, который будет вызываться в то время. Оповещения на основе прослушивателя могут быть отменены системой Android всякий раз, когда вызывающий процесс больше не имеет каких-либо компонентов, таких как Activity, Service или ContentProvider, поэтому используйте только эти API, если вам не нужно получать оповещения после завершения текущего компонента, а также обязательно отменять (OnAlarmListener) их при выполнении. Например, если вы используете эти API из действия, обязательно отмените соответствующие оповещения после завершения действия. Если вам нужно получить сигнализацию даже после этого, используйте API-интерфейсы на основе PendingIntent. Метод OnAlarmListener onAlarm() будет вызываться с помощью указанного целевого обработчика или в основном цикле приложения, если значение NULL передается в качестве параметра targetHandler. Примечание. Начиная с Build.VERSION_CODES API. Приложения не должны проходить в окне менее 10 минут. Система попытается лучше всего разместить небольшие окна, если сигнализация должна срабочить в ближайшем будущем, но нет гарантий, и приложение должно ожидать, что любое окно меньше 10 минут, чтобы получить вытянутое до 10 минут.
См. также:
Справочник по Android для android.app.AlarmManager.setWindow.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".
Применяется к
SetWindow(AlarmType, Int64, Int64, String, IExecutor, AlarmManager+IOnAlarmListener)
Прямая версия обратного вызова setWindow(int,long,long,PendingIntent).
[Android.Runtime.Register("setWindow", "(IJJLjava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/AlarmManager$OnAlarmListener;)V", "GetSetWindow_IJJLjava_lang_String_Ljava_util_concurrent_Executor_Landroid_app_AlarmManager_OnAlarmListener_Handler", ApiSince=34)]
public virtual void SetWindow(Android.App.AlarmType type, long windowStartMillis, long windowLengthMillis, string? tag, Java.Util.Concurrent.IExecutor executor, Android.App.AlarmManager.IOnAlarmListener listener);
[<Android.Runtime.Register("setWindow", "(IJJLjava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/AlarmManager$OnAlarmListener;)V", "GetSetWindow_IJJLjava_lang_String_Ljava_util_concurrent_Executor_Landroid_app_AlarmManager_OnAlarmListener_Handler", ApiSince=34)>]
abstract member SetWindow : Android.App.AlarmType * int64 * int64 * string * Java.Util.Concurrent.IExecutor * Android.App.AlarmManager.IOnAlarmListener -> unit
override this.SetWindow : Android.App.AlarmType * int64 * int64 * string * Java.Util.Concurrent.IExecutor * Android.App.AlarmManager.IOnAlarmListener -> unit
Параметры
- type
- AlarmType
int: значение является одним из следующих: RTC_WAKEUP RTC ELAPSED_REALTIME_WAKEUP ELAPSED_REALTIME
- windowStartMillis
- Int64
long
- windowLengthMillis
- Int64
long
- tag
- String
Строка: это значение может иметь значение NULL.
- executor
- IExecutor
Исполнитель: это значение не может быть null.
- listener
- AlarmManager.IOnAlarmListener
AlarmManager.OnAlarmListener: это значение не может быть null.
- Атрибуты
Комментарии
Прямая версия обратного вызова setWindow(int,long,long,PendingIntent). Вместо отправки ожидающего объекта PendingIntent при достижении времени оповещения этот вариант предоставляет экземпляр OnAlarmListener, который будет вызываться в то время. Оповещения на основе прослушивателя могут быть отменены системой Android всякий раз, когда вызывающий процесс больше не имеет каких-либо компонентов, таких как Activity, Service или ContentProvider, поэтому используйте только эти API, если вам не нужно получать оповещения после завершения текущего компонента, а также обязательно отменять (OnAlarmListener) их при выполнении. Например, если вы используете эти API из действия, обязательно отмените соответствующие оповещения после завершения действия. Если вам нужно получить сигнализацию даже после этого, используйте API-интерфейсы на основе PendingIntent. Метод OnAlarmListener onAlarm() будет вызываться с помощью указанного целевого исполнителя. Примечание. Начиная с Build.VERSION_CODES API. Приложения не должны проходить в окне менее 10 минут. Система попытается лучше всего разместить небольшие окна, если сигнализация должна срабочить в ближайшем будущем, но нет гарантий, и приложение должно ожидать, что любое окно меньше 10 минут, чтобы получить вытянутое до 10 минут.
См. также:
Примеры содержимого и кода на этой странице относятся к лицензиям, описанным в разделе "Лицензия на содержимое". Java и OpenJDK являются товарными знаками или зарегистрированными товарными знаками компании Oracle и (или) ее аффилированных лиц.
Последнее обновление 2026-08-03 UTC.
Справочник по Android для android.app.AlarmManager.setWindow.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".