Idioma

AlarmManager.SetRepeating(AlarmType, Int64, Int64, PendingIntent) Método

Definição

Agende um alarme repetido.

[Android.Runtime.Register("setRepeating", "(IJJLandroid/app/PendingIntent;)V", "GetSetRepeating_IJJLandroid_app_PendingIntent_Handler")]
public virtual void SetRepeating(Android.App.AlarmType type, long triggerAtMillis, long intervalMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("setRepeating", "(IJJLandroid/app/PendingIntent;)V", "GetSetRepeating_IJJLandroid_app_PendingIntent_Handler")>]
abstract member SetRepeating : Android.App.AlarmType * int64 * int64 * Android.App.PendingIntent -> unit
override this.SetRepeating : Android.App.AlarmType * int64 * int64 * Android.App.PendingIntent -> unit

Parâmetros

type
AlarmType

tipo de alarme.

triggerAtMillis
Int64

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

intervalMillis
Int64

intervalo em milissegundos entre as repetições subsequentes do 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 repetido. 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, ele será cancelado primeiro. Como set(int, long, PendingIntent), exceto que você também pode fornecer um período no qual o alarme será repetido automaticamente. Esse alarme continua repetindo até ser removido explicitamente com cancel(OnAlarmListener). Se o tempo de gatilho declarado estiver no passado, o alarme será disparado imediatamente, com uma contagem de alarmes dependendo de quão longe no passado o tempo do gatilho é relativo ao intervalo de repetição. Se um alarme for atrasado (por suspensão do sistema, por exemplo, para tipos de alarme não _WAKEUP), uma repetição ignorada será entregue o mais rápido possível. Depois disso, os alarmes futuros serão entregues de acordo com a agenda original; eles não derivam ao longo do tempo. Por exemplo, se você tiver definido um alarme recorrente para a parte superior de cada hora, mas o telefone estava dormindo das 7:45 às 8:45, um alarme será enviado assim que o telefone acordar, então o próximo alarme será enviado às 9:00. Se o aplicativo quiser permitir que os tempos de entrega descompassem para garantir que pelo menos um determinado intervalo de tempo sempre decorrido entre alarmes, a abordagem a ser tomada é usar alarmes únicos, agendando o próximo por conta própria ao lidar com cada entrega de alarme. Observação: a partir da API 19, todos os alarmes recorrentes são inexactes. Se o aplicativo precisar de tempos de entrega precisos, ele deverá usar alarmes exatos únicos, reagendando cada vez, conforme descrito acima. Aplicativos herdados cujo targetSdkVersion é anterior à API 19 continuarão a ter todos os seus alarmes, incluindo alarmes repetidos, tratados como exatos. Aplicativos direcionados Build.VERSION_CODES. S precisará definir o sinalizador PendingIntent.FLAG_MUTABLE no PendingIntent que está sendo usado para definir esse alarme, se quiser que a contagem de alarmes seja fornecida com a chave Intent.EXTRA_ALARM_COUNT.

Consulte também:

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

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