Lingua

AlarmManager.SetRepeating(AlarmType, Int64, Int64, PendingIntent) Metodo

Definizione

Pianificare un allarme ripetuto.

[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

Parametri

type
AlarmType

tipo di allarme.

triggerAtMillis
Int64

tempo in millisecondi in cui l'allarme deve essere prima spento, utilizzando l'orologio appropriato (a seconda del tipo di allarme).

intervalMillis
Int64

intervallo in millisecondi tra le ripetizioni successive dell'allarme.

operation
PendingIntent

Azione da eseguire quando l'allarme si spegne; in genere proviene da PendingIntent#getBroadcast IntentSender.getBroadcast().

Attributi

Commenti

Pianificare un allarme ripetuto. Nota: per le operazioni di intervallo (tick, timeout e così via) è più semplice e molto più efficiente usare il gestore. Se esiste già un allarme pianificato per lo stesso IntentSender, verrà prima annullato. Come set(int, long, PendingIntent), tranne che è anche possibile specificare un periodo in cui l'allarme si ripeterà automaticamente. Questo allarme continua a ripetersi fino a quando non viene rimosso in modo esplicito con cancel(OnAlarmListener). Se il tempo di attivazione indicato è passato, l'allarme verrà attivato immediatamente, con un conteggio degli allarmi a seconda della distanza trascorsa rispetto all'intervallo di ripetizione. Se un allarme viene ritardato (per sospensione del sistema, ad esempio, per i tipi di allarme non _WAKEUP), una ripetizione ignorata verrà recapitata il prima possibile. Successivamente, gli allarmi futuri verranno recapitati in base alla pianificazione originale; non si allontanano nel tempo. Ad esempio, se è stato impostato un allarme ricorrente per la parte superiore di ogni ora, ma il telefono è stato addormentato dalle 7:45 alle 8:45, verrà inviato un allarme non appena il telefono si risveglia, l'allarme successivo verrà inviato alle 9:00. Se l'applicazione vuole consentire la deviazione dei tempi di recapito per garantire che almeno un determinato intervallo di tempo intercorra sempre tra gli allarmi, l'approccio da adottare consiste nell'usare allarmi monouso, pianificando il successivo quando si gestisce ogni recapito dell'allarme. Nota: a partire dall'API 19, tutti gli allarmi ripetuti sono inesattivi. Se l'applicazione richiede tempi di recapito precisi, è necessario usare allarmi esatti una tantum, riprogrammando ogni volta come descritto in precedenza. Le applicazioni legacy la cui destinazioneSdkVersion è precedente all'API 19 continueranno ad avere tutti gli avvisi, inclusi gli avvisi ripetuti, considerati esattamente. App destinate a Build.VERSION_CODES. S dovrà impostare il flag PendingIntent.FLAG_MUTABLE sull'oggetto PendingIntent utilizzato per impostare l'allarme, se si vuole che il numero di allarmi venga fornito con la chiave Intent.EXTRA_ALARM_COUNT.

Vedere anche:

Informazioni di riferimento su Android per android.app.AlarmManager.setRepeating.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a