Idioma

AlarmManager.Set Método

Definição

Sobrecargas

Nome Description
Set(AlarmType, Int64, String, AlarmManager+IOnAlarmListener, Handler)

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

Set(AlarmType, Int64, PendingIntent)

Agende um alarme.

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

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

[Android.Runtime.Register("set", "(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V", "GetSet_IJLjava_lang_String_Landroid_app_AlarmManager_OnAlarmListener_Landroid_os_Handler_Handler", ApiSince=24)]
public virtual void Set(Android.App.AlarmType type, long triggerAtMillis, string? tag, Android.App.AlarmManager.IOnAlarmListener listener, Android.OS.Handler? targetHandler);
[<Android.Runtime.Register("set", "(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V", "GetSet_IJLjava_lang_String_Landroid_app_AlarmManager_OnAlarmListener_Landroid_os_Handler_Handler", ApiSince=24)>]
abstract member Set : Android.App.AlarmType * int64 * string * Android.App.AlarmManager.IOnAlarmListener * Android.OS.Handler -> unit
override this.Set : Android.App.AlarmType * int64 * string * Android.App.AlarmManager.IOnAlarmListener * Android.OS.Handler -> unit

Parâmetros

type
AlarmType

int: tipo de alarme. O valor é um dos seguintes: RTC_WAKEUP rtc ELAPSED_REALTIME_WAKEUP ELAPSED_REALTIME

triggerAtMillis
Int64

long: tempo em milissegundos em que o alarme deve disparar, usando o relógio apropriado (dependendo do tipo de alarme).

tag
String

Cadeia de caracteres: cadeia de caracteres que descreve o alarme, usado para registro em log e atribuição de uso de bateria. Esse valor pode ser nulo.

listener
AlarmManager.IOnAlarmListener

AlarmManager.OnAlarmListener: instância OnAlarmListener cujo método onAlarm() será chamado quando a hora do alarme for atingida. Uma determinada instância OnAlarmListener só pode ser o destino de um único alarme pendente, assim como um determinado PendingIntent só pode ser usado com um alarme por vez. Esse valor não pode ser nulo.

targetHandler
Handler

Manipulador: manipulador no qual executar o retorno de chamada onAlarm() do ouvinte ou nulo para executar esse retorno de chamada no looper principal.

Atributos

Comentários

Versão de retorno de chamada direta de set(int, 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.

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

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

Set(AlarmType, Int64, PendingIntent)

Agende um alarme.

[Android.Runtime.Register("set", "(IJLandroid/app/PendingIntent;)V", "GetSet_IJLandroid_app_PendingIntent_Handler")]
public virtual void Set(Android.App.AlarmType type, long triggerAtMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("set", "(IJLandroid/app/PendingIntent;)V", "GetSet_IJLandroid_app_PendingIntent_Handler")>]
abstract member Set : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit
override this.Set : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit

Parâmetros

type
AlarmType

tipo de alarme.

triggerAtMillis
Int64

tempo em milissegundos em que o alarme deve disparar, usando o relógio apropriado (dependendo do tipo de alarme).

operation
PendingIntent

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

Atributos

Comentários

Agende um alarme. Observação: para operações de tempo limite (tiques, tempos limite etc) é mais fácil e muito mais eficiente usar o Manipulador. Se já houver um alarme agendado para o mesmo IntentSender, esse alarme anterior será cancelado primeiro. Se a hora do gatilho declarada estiver no passado, o alarme será disparado imediatamente. Se já houver um alarme para essa Intenção agendada (com a igualdade de duas intenções sendo definidas por Intent.filterEquals), ela será removida e substituída por esta. O alarme é uma transmissão de intenção que vai para um receptor de transmissão que você registrou com Context.registerReceiver(BroadcastReceiver, IntentFilter) ou por meio da <marca de receptor> em um arquivo AndroidManifest.xml. As intenções de alarme são entregues com um extra de dados do tipo int chamado Intent.EXTRA_ALARM_COUNT que indica quantos eventos de alarme anteriores foram acumulados nessa transmissão de intenção. Alarmes recorrentes que não foram entregues porque o telefone estava dormindo podem ter uma contagem maior que uma quando entregue. Observação: a partir da API 19, o tempo de gatilho passado para esse método é tratado como inexact: o alarme não será entregue antes desta vez, mas pode ser adiado e entregue algum tempo depois. O sistema operacional usará essa política para "agrupar em lote" alarmes em todo o sistema, minimizando o número de vezes que o dispositivo precisa "ativar" e minimizar o uso da bateria. Em geral, os alarmes agendados em um futuro próximo não serão adiados enquanto os alarmes forem agendados no futuro. Com a nova política de envio em lote, as garantias de pedido de entrega não são tão fortes quanto eram anteriormente. Se o aplicativo definir vários alarmes, é possível que a ordenação de entrega real desses alarmes não corresponda à ordem dos horários de entrega solicitados. Se o aplicativo tiver requisitos de ordenação fortes, há outras APIs que você pode usar para obter o comportamento necessário; consulte setWindow(int,long, long,PendingIntent) e setExact(int,long,PendingIntent). Os aplicativos cujo targetSdkVersion está antes da API 19 continuarão a obter o comportamento de alarme anterior: todos os alarmes agendados serão tratados como exatos.

Consulte também:

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

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