AlarmManager.SetInexactRepeating Metodo

Definizione

Pianificare un allarme ripetuto con requisiti di tempo di attivazione inesattivi; ad esempio, un allarme che si ripete ogni ora, ma non necessariamente nella parte superiore di ogni ora.

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

Parametri

type
AlarmType

int: tipo di allarme. Il valore è uno dei seguenti: RTC_WAKEUP rtc ELAPSED_REALTIME_WAKEUP ELAPSED_REALTIME

triggerAtMillis
Int64

long: tempo in millisecondi in cui l'allarme deve essere prima spento, utilizzando l'orologio appropriato (a seconda del tipo di allarme). Questo è inesciso: l'allarme non verrà attivato prima di questa volta, ma potrebbe esserci un ritardo di quasi un intero intervallo di allarme prima della prima chiamata dell'allarme.

intervalMillis
Int64

long: intervallo in millisecondi tra le ripetizioni successive dell'allarme. Prima dell'API 19, se si tratta di una delle INTERVAL_FIFTEEN_MINUTES, INTERVAL_HALF_HOUR, INTERVAL_HOUR, INTERVAL_HALF_DAY o INTERVAL_DAY, l'allarme sarà allineato in più fasi con altri allarmi per ridurre il numero di riattivazioni. In caso contrario, l'allarme verrà impostato come se l'applicazione avesse chiamato setRepeating(int, long, long, PendingIntent). A partire dall'API 19, tutti gli allarmi ripetuti saranno inesattivi e soggetti all'invio in batch con altri allarmi indipendentemente dall'intervallo di ripetizione dichiarato.

operation
PendingIntent

PendingIntent: azione da eseguire quando l'allarme si spegne; in genere proviene da IntentSender.getBroadcast(). Questo valore non può essere Null.

Attributi

Commenti

Pianificare un allarme ripetuto con requisiti di tempo di attivazione inesattivi; ad esempio, un allarme che si ripete ogni ora, ma non necessariamente nella parte superiore di ogni ora. Questi allarmi sono più efficienti dal punto di vista energetico rispetto alle rigorose ricorrenze tradizionalmente fornite da setRepeating(int, long, long, PendingIntent), poiché il sistema può regolare i tempi di consegna degli allarmi per farli sparare contemporaneamente, evitando di svegliare il dispositivo dal sonno più del necessario. Il primo trigger dell'allarme non sarà prima dell'ora richiesta, ma potrebbe non verificarsi per quasi un intervallo completo dopo tale tempo. Inoltre, mentre il periodo complessivo dell'allarme ripetuto sarà come richiesto, il tempo tra due attivazioni successive dell'allarme può variare. Se l'applicazione richiede un'instabilità molto bassa, usare invece allarmi monoristrati con una finestra appropriata; vedere setWindow(int,long,long,PendingIntent) e setExact(int,long,PendingIntent). A partire dall'API 19, tutti gli allarmi ripetuti sono inesattivi. Poiché questo metodo è disponibile dall'API 3, l'applicazione può chiamarla in modo sicuro e assicurarsi che otterrà un comportamento simile nelle versioni correnti e precedenti di Android. 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.setInexactRepeating.

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