Idioma

AlarmManager.SetWindow Método

Definição

Sobrecargas

Nome Description
SetWindow(AlarmType, Int64, Int64, PendingIntent)

Agende um alarme a ser entregue dentro de uma determinada janela de tempo.

SetWindow(AlarmType, Int64, Int64, String, AlarmManager+IOnAlarmListener, Handler)

Versão de retorno de chamada direta de setWindow(int, long, long, PendingIntent).

SetWindow(AlarmType, Int64, Int64, String, IExecutor, AlarmManager+IOnAlarmListener)

Versão de retorno de chamada direta de setWindow(int, long, long, PendingIntent).

SetWindow(AlarmType, Int64, Int64, PendingIntent)

Agende um alarme a ser entregue dentro de uma determinada janela de tempo.

[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

Parâmetros

type
AlarmType

tipo de alarme.

windowStartMillis
Int64

Na primeira vez, em milissegundos, que o alarme deve ser entregue, expresso nas unidades do relógio apropriado (dependendo do tipo de alarme).

windowLengthMillis
Int64

O comprimento da janela de entrega solicitada, em milissegundos. O alarme será entregue não mais tarde do que muitos milissegundos depois windowStartMillis. Observe que esse parâmetro é uma duração, não o carimbo de data/hora do final da janela.

operation
PendingIntent

Ação a ser executada quando o alarme disparar; normalmente vem de PendingIntent#getBroadcast IntentSender.getBroadcast().

Atributos

Comentários

Agende um alarme a ser entregue dentro de uma determinada janela de tempo. Esse método é semelhante a set(int,long, PendingIntent), mas permite que o aplicativo controle precisamente o grau em que sua entrega pode ser ajustada pelo sistema operacional. Esse método permite que um aplicativo aproveite as otimizações de bateria que surgem do envio em lote de entrega mesmo quando ele tem requisitos modestos de linha do tempo para seus alarmes. Observação: começando com Build.VERSION_CODES de API. S, os aplicativos não devem passar em uma janela de menos de 10 minutos. O sistema tentará o seu melhor para acomodar janelas menores se o alarme deve ser disparado em um futuro próximo, mas não há garantias e o aplicativo deve esperar que qualquer janela menor que 10 minutos seja alongada para 10 minutos. Esse método também pode ser usado para obter garantias de ordenação estritas entre vários alarmes, garantindo que as janelas solicitadas para cada alarme não se cruzem. Quando a entrega precisa não é necessária, os aplicativos devem usar o método padrão set(int,long,PendingIntent). Isso dará ao sistema operacional a maior flexibilidade para minimizar as ativações e o uso da bateria. Para alarmes que devem ser entregues em horários especificados precisamente sem variação aceitável, os aplicativos podem usar setExact(int, long, PendingIntent).

Consulte também:

Referência do Android para android.app.AlarmManager.setWindow.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

SetWindow(AlarmType, Int64, Int64, String, AlarmManager+IOnAlarmListener, Handler)

Versão de retorno de chamada direta de 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

Parâmetros

type
AlarmType

int: O valor é um dos seguintes: RTC_WAKEUP rtc ELAPSED_REALTIME_WAKEUP ELAPSED_REALTIME

windowStartMillis
Int64

long

windowLengthMillis
Int64

long

tag
String

Cadeia de caracteres: esse valor pode ser nulo.

listener
AlarmManager.IOnAlarmListener

AlarmManager.OnAlarmListener: esse valor não pode ser nulo.

targetHandler
Handler

Manipulador: esse valor pode ser nulo.

Atributos

Comentários

Versão de retorno de chamada direta de setWindow(int, long, long, PendingIntent). Em vez de fornecer um PendingIntent para ser enviado quando a hora do alarme for atingida, essa variante fornece uma instância OnAlarmListener que será invocada nesse momento. Os alarmes baseados em ouvintes podem ser cancelados pelo sistema Android sempre que o processo de chamada não tiver mais nenhum componente em execução, como Atividade, Serviço ou ContentProvider, portanto, use apenas essas APIs quando não precisar receber alarmes após a conclusão do componente atual e também certifique-se de cancelá-las (OnAlarmListener) quando isso acontecer. Por exemplo, se você usar essas APIs de uma Atividade, cancele os respectivos alarmes quando a atividade for concluída. Se você precisar receber o alarme mesmo depois disso, use as APIs baseadas em PendingIntent. O método OnAlarmListener onAlarm() será invocado por meio do Manipulador de destino especificado ou no looper principal do aplicativo se nulo for passado como o parâmetro targetHandler. Observação: começando com Build.VERSION_CODES de API. S, os aplicativos não devem passar em uma janela de menos de 10 minutos. O sistema tentará o seu melhor para acomodar janelas menores se o alarme deve ser disparado em um futuro próximo, mas não há garantias e o aplicativo deve esperar que qualquer janela menor que 10 minutos seja alongada para 10 minutos.

Consulte também:

Referência do Android para android.app.AlarmManager.setWindow.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

SetWindow(AlarmType, Int64, Int64, String, IExecutor, AlarmManager+IOnAlarmListener)

Versão de retorno de chamada direta de 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

Parâmetros

type
AlarmType

int: O valor é um dos seguintes: RTC_WAKEUP rtc ELAPSED_REALTIME_WAKEUP ELAPSED_REALTIME

windowStartMillis
Int64

long

windowLengthMillis
Int64

long

tag
String

Cadeia de caracteres: esse valor pode ser nulo.

executor
IExecutor

Executor: esse valor não pode ser nulo.

listener
AlarmManager.IOnAlarmListener

AlarmManager.OnAlarmListener: esse valor não pode ser nulo.

Atributos

Comentários

Versão de retorno de chamada direta de setWindow(int, long, long, PendingIntent). Em vez de fornecer um PendingIntent para ser enviado quando a hora do alarme for atingida, essa variante fornece uma instância OnAlarmListener que será invocada nesse momento. Os alarmes baseados em ouvintes podem ser cancelados pelo sistema Android sempre que o processo de chamada não tiver mais nenhum componente em execução, como Atividade, Serviço ou ContentProvider, portanto, use apenas essas APIs quando não precisar receber alarmes após a conclusão do componente atual e também certifique-se de cancelá-las (OnAlarmListener) quando isso acontecer. Por exemplo, se você usar essas APIs de uma Atividade, cancele os respectivos alarmes quando a atividade for concluída. Se você precisar receber o alarme mesmo depois disso, use as APIs baseadas em PendingIntent. O método OnAlarmListener onAlarm() será invocado por meio do Executor de destino especificado. Observação: começando com Build.VERSION_CODES de API. S, os aplicativos não devem passar em uma janela de menos de 10 minutos. O sistema tentará o seu melhor para acomodar janelas menores se o alarme deve ser disparado em um futuro próximo, mas não há garantias e o aplicativo deve esperar que qualquer janela menor que 10 minutos seja alongada para 10 minutos.

Consulte também:

Os exemplos de conteúdo e código nesta página estão sujeitos às licenças descritas na Licença de Conteúdo. Java e OpenJDK são marcas ou marcas registradas da Oracle e/ou de suas afiliadas.

Última atualização 2026-08-03 UTC.

Referência do Android para android.app.AlarmManager.setWindow.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a