AlarmManager.SetRepeating(AlarmType, Int64, Int64, PendingIntent) 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.
[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
Parameter
- type
- AlarmType
Art des Alarms.
- triggerAtMillis
- Int64
Zeit in Millisekunden, dass der Alarm zuerst abläuft, mit der entsprechenden Uhr (je nach Alarmtyp).
- intervalMillis
- Int64
Intervall in Millisekunden zwischen nachfolgenden Wiederholungen des Alarms.
- 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. Hinweis: Für Zeitplanungsvorgänge (Ticks, Timeouts usw.) ist es einfacher und viel effizienter, den Handler zu verwenden. Wenn bereits ein Alarm für denselben IntentSender geplant ist, wird er zuerst abgebrochen. Wie set(int, long, PendingIntent), außer Sie können auch einen Zeitraum angeben, in dem der Alarm automatisch wiederholt wird. Dieser Alarm wird fortgesetzt, bis er explizit mit cancel(OnAlarmListener) entfernt wurde. Wenn sich die angegebene Triggerzeit in der Vergangenheit befindet, wird der Alarm sofort ausgelöst, wobei die Alarmanzahl abhängig davon, wie weit in der Vergangenheit die Triggerzeit relativ zum Wiederholungsintervall ist. Wenn ein Alarm verzögert wird (z. B. nach Systemschlaf, z. B. bei nicht _WAKEUP Alarmtypen), wird eine übersprungene Wiederholung so schnell wie möglich übermittelt. Danach werden zukünftige Alarme nach dem ursprünglichen Zeitplan geliefert; sie driften nicht im Laufe der Zeit. Wenn Sie beispielsweise einen wiederkehrenden Alarm für die Spitze jeder Stunde festgelegt haben, aber das Telefon von 7:45 bis 8:45 einschlafen hat, wird ein Alarm gesendet, sobald das Telefon weckt, dann wird der nächste Alarm um 9:00 Uhr gesendet. Wenn Ihre Anwendung zulässt, dass die Lieferzeiten abdriften, um zu gewährleisten, dass mindestens ein bestimmtes Zeitintervall immer zwischen Alarmen verstrichen ist, besteht der Ansatz darin, einmalige Alarme zu verwenden, die nächste zu planen, wenn sie jede Alarmzustellung behandeln. Hinweis: Ab API 19 sind alle wiederholten Alarme ungenau. Wenn Ihre Anwendung genaue Lieferzeiten benötigt, muss sie einmal genaue Alarme verwenden und jedes Mal neu planen, wie oben beschrieben. Ältere Anwendungen, deren TargetSdkVersion früher als API 19 ist, verfügen weiterhin über alle ihre Alarme, einschließlich wiederholter Alarme, die genau behandelt werden. 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.setRepeating.
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.