Idioma

AlarmManager.SetExact Método

Definição

Sobrecargas

Nome Description
SetExact(AlarmType, Int64, PendingIntent)

Agende um alarme a ser entregue com precisão no momento indicado.

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

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

SetExact(AlarmType, Int64, PendingIntent)

Agende um alarme a ser entregue com precisão no momento indicado.

[Android.Runtime.Register("setExact", "(IJLandroid/app/PendingIntent;)V", "GetSetExact_IJLandroid_app_PendingIntent_Handler")]
[Android.Runtime.RequiresPermission("android.permission.SCHEDULE_EXACT_ALARM")]
public virtual void SetExact(Android.App.AlarmType type, long triggerAtMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("setExact", "(IJLandroid/app/PendingIntent;)V", "GetSetExact_IJLandroid_app_PendingIntent_Handler")>]
[<Android.Runtime.RequiresPermission("android.permission.SCHEDULE_EXACT_ALARM")>]
abstract member SetExact : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit
override this.SetExact : 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 a ser entregue com precisão no momento indicado. Esse método é como set(int,long, PendingIntent), mas não permite que o sistema operacional ajuste o tempo de entrega. O alarme será entregue o mais próximo possível do tempo de gatilho solicitado. Observação: somente os alarmes para os quais há uma forte demanda por entrega exata (como um alarme tocando no horário solicitado) devem ser agendados exatamente. Os aplicativos são fortemente desencorajados a usar alarmes exatos desnecessariamente, pois reduzem a capacidade do sistema operacional de minimizar o uso da bateria. Observação: começando com Build.VERSION_CODES. S, os aplicativos destinados ao SDK nível 31 ou superior precisam solicitar a permissão SCHEDULE_EXACT_ALARM para usar essa API, a menos que o aplicativo esteja isento de restrições de bateria. O usuário e o sistema podem revogar essa permissão por meio da tela de acesso especial do aplicativo em Configurações. Observação: os alarmes exatos só devem ser usados para recursos voltados para o usuário. Para obter mais detalhes, consulte a permissão de alarme exata.

Consulte também:

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

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

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

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

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

triggerAtMillis
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 setExact(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. Em versões anteriores do Android Build.VERSION_CODES. S e Build.VERSION_CODES. TIRAMISU, os aplicativos direcionados ao SDK nível 31 ou superior precisavam manter a permissão SCHEDULE_EXACT_ALARM para usar essa API, a menos que o aplicativo estivesse isento de restrições de bateria. Observação: começando com a versão do Android Build.VERSION_CODES. UPSIDE_DOWN_CAKE, o sistema removerá explicitamente todos os alarmes definidos por meio dessa API quando o aplicativo de chamada sair do ciclo de vida.

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

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