AlarmManager.SetInexactRepeating Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.