Sprache

AlarmManager.SetInexactRepeating Methode

Definition

Planen Sie einen wiederholten Alarm, der über ungenaue Zeitanforderungen verfügt; Zum Beispiel ein Alarm, der jede Stunde wiederholt, aber nicht unbedingt am Anfang jeder Stunde.

[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

Parameter

type
AlarmType

Art des Alarms.

triggerAtMillis
Int64

Zeit in Millisekunden, dass der Alarm zuerst abläuft, mit der entsprechenden Uhr (je nach Alarmtyp). Dies ist ungenau: Der Alarm wird nicht vor dieser Zeit ausgelöst, aber es kann eine Verzögerung von fast einem ganzen Alarmintervall vor dem ersten Aufruf des Alarms geben.

intervalMillis
Int64

Intervall in Millisekunden zwischen nachfolgenden Wiederholungen des Alarms. Wenn dies vor API 19 einer von INTERVAL_FIFTEEN_MINUTES, INTERVAL_HALF_HOUR, INTERVAL_HOUR, INTERVAL_HALF_DAY oder INTERVAL_DAY ist, wird der Alarm phasenweise mit anderen Alarmen ausgerichtet, um die Anzahl der Reaktivierungen zu verringern. Andernfalls wird der Alarm so eingestellt, als ob die Anwendung aufgerufen #setRepeatingwurde. Ab API 19 sind alle wiederholten Alarme ungenau und unterliegen der Batchverarbeitung mit anderen Alarmen, unabhängig von ihrem angegebenen Wiederholungsintervall.

operation
PendingIntent

Aktion auszuführen, wenn der Alarm abläuft; kommt in der Regel von PendingIntent#getBroadcast IntentSender.getBroadcast().

Attribute

Hinweise

Planen Sie einen wiederholten Alarm, der über ungenaue Zeitanforderungen verfügt; Zum Beispiel ein Alarm, der jede Stunde wiederholt, aber nicht unbedingt am Anfang jeder Stunde. Diese Alarme sind energieeffizienter als die strengen Serien, die traditionell von setRepeating(int, long, long, PendingIntent) bereitgestellt werden, da das System die Lieferzeiten der Alarme anpassen kann, um sie gleichzeitig auszulösen, hindern Sie das Gerät mehr als nötig an. Der erste Auslöser Ihres Alarms liegt nicht vor der angeforderten Zeit, kann aber nach dieser Zeit nicht für fast ein vollständiges Intervall auftreten. Darüber hinaus kann die Zeit zwischen zwei aufeinander folgenden Alarmen variieren, während der Gesamtzeitraum des wiederholten Alarms wie angefordert wird. Wenn Ihre Anwendung sehr wenig Jitter erfordert, verwenden Sie stattdessen Einen-Schuss-Alarme mit einem geeigneten Fenster. siehe setWindow(int,long,long,PendingIntent) und setExact(int,long,PendingIntent). Ab API 19 sind alle wiederholten Alarme ungenau. Da diese Methode seit API 3 verfügbar ist, kann Ihre Anwendung sie sicher aufrufen und sicher sein, dass sie ein ähnliches Verhalten sowohl für aktuelle als auch für ältere Versionen von Android erhält. Apps für Build.VERSION_CODES. S muss die Kennzeichnung PendingIntent.FLAG_MUTABLE für den PendingIntent festlegen, der zum Festlegen dieses Alarms verwendet wird, wenn die Alarmanzahl mit dem Schlüssel Intent.EXTRA_ALARM_COUNT bereitgestellt werden soll.

Siehe auch:

Android-Referenz für android.app.AlarmManager.setInexactRepeating.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: