AlarmManager.Set Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.