Sprache

AlarmManager.SetExact Methode

Definition

Überlädt

Name Beschreibung
SetExact(AlarmType, Int64, PendingIntent)

Planen Sie einen Alarm genau zum angegebenen Zeitpunkt zu liefern.

SetExact(AlarmType, Int64, String, AlarmManager+IOnAlarmListener, Handler)

Direkte Rückrufversion von setExact(int,long,PendingIntent).

SetExact(AlarmType, Int64, PendingIntent)

Planen Sie einen Alarm genau zum angegebenen Zeitpunkt zu liefern.

[Android.Runtime.Register("setExact", "(IJLandroid/app/PendingIntent;)V", "GetSetExact_IJLandroid_app_PendingIntent_Handler")]
[Android.Runtime.RequiresPermission("android.permission.SCHEDULE_EXACT_ALARM")]
public virtual void SetExact(Android.App.AlarmType type, long triggerAtMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("setExact", "(IJLandroid/app/PendingIntent;)V", "GetSetExact_IJLandroid_app_PendingIntent_Handler")>]
[<Android.Runtime.RequiresPermission("android.permission.SCHEDULE_EXACT_ALARM")>]
abstract member SetExact : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit
override this.SetExact : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit

Parameter

type
AlarmType

Art des Alarms.

triggerAtMillis
Int64

Zeit in Millisekunden, die der Alarm abläuft, mit der entsprechenden Uhr (je nach Alarmtyp).

operation
PendingIntent

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

Attribute

Hinweise

Planen Sie einen Alarm genau zum angegebenen Zeitpunkt zu liefern. Diese Methode ist wie set(int,long,PendingIntent), aber das Betriebssystem kann die Lieferzeit nicht anpassen. Der Alarm wird so fast wie möglich an die angeforderte Auslösezeit übermittelt. Hinweis: Nur Alarme, für die es eine starke Nachfrage nach exakter Lieferung gibt (z. B. ein Wecker-Klingeln zur angeforderten Zeit), sollten genau geplant werden. Anwendungen werden dringend davon abgeraten, genaue Alarme unnötig zu verwenden, da sie die Fähigkeit des Betriebssystems zur Minimierung des Akkueinsatzes verringern. Hinweis: Beginnend mit Build.VERSION_CODES. S, Apps für SDK-Ebene 31 oder höher müssen die SCHEDULE_EXACT_ALARM Berechtigung für die Verwendung dieser API anfordern, es sei denn, die App ist von Akkueinschränkungen ausgenommen. Der Benutzer und das System können diese Berechtigung über den Speziellen App-Zugriffsbildschirm in den Einstellungen widerrufen. Hinweis: Genaue Alarme sollten nur für Benutzerfeatures verwendet werden. Weitere Informationen finden Sie unter "Genaue Alarmberechtigung".

Siehe auch:

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

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:

SetExact(AlarmType, Int64, String, AlarmManager+IOnAlarmListener, Handler)

Direkte Rückrufversion von setExact(int,long,PendingIntent).

[Android.Runtime.Register("setExact", "(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V", "GetSetExact_IJLjava_lang_String_Landroid_app_AlarmManager_OnAlarmListener_Landroid_os_Handler_Handler", ApiSince=24)]
public virtual void SetExact(Android.App.AlarmType type, long triggerAtMillis, string? tag, Android.App.AlarmManager.IOnAlarmListener listener, Android.OS.Handler? targetHandler);
[<Android.Runtime.Register("setExact", "(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V", "GetSetExact_IJLjava_lang_String_Landroid_app_AlarmManager_OnAlarmListener_Landroid_os_Handler_Handler", ApiSince=24)>]
abstract member SetExact : Android.App.AlarmType * int64 * string * Android.App.AlarmManager.IOnAlarmListener * Android.OS.Handler -> unit
override this.SetExact : Android.App.AlarmType * int64 * string * Android.App.AlarmManager.IOnAlarmListener * Android.OS.Handler -> unit

Parameter

type
AlarmType

int: Der Wert ist eine der folgenden: RTC_WAKEUP RTC-ELAPSED_REALTIME_WAKEUP ELAPSED_REALTIME

triggerAtMillis
Int64

long

tag
String

Zeichenfolge: Dieser Wert kann null sein.

listener
AlarmManager.IOnAlarmListener

AlarmManager.OnAlarmListener: Dieser Wert darf nicht null sein.

targetHandler
Handler

Handler: Dieser Wert kann null sein.

Attribute

Hinweise

Direkte Rückrufversion von setExact(int,long,PendingIntent). Anstatt beim Erreichen der Alarmzeit einen PendingIntent zu senden, stellt diese Variante eine OnAlarmListener-Instanz bereit, die zu diesem Zeitpunkt aufgerufen wird. Listener-basierte Alarme können vom Android-System abgebrochen werden, wenn der aufrufende Prozess keine Komponenten mehr ausgeführt wird, z. B. Aktivität, Dienst oder ContentProvider, sodass Sie diese APIs nur verwenden müssen, wenn Sie nach Abschluss der aktuellen Komponente keine Alarme empfangen müssen, und stellen Sie außerdem sicher, dass sie (OnAlarmListener) abbrechen(OnAlarmListener). Wenn Sie diese APIs beispielsweise aus einer Aktivität verwenden, stellen Sie sicher, dass die entsprechenden Alarme abgebrochen werden, wenn die Aktivität abgeschlossen ist. Wenn Sie den Alarm auch danach erhalten müssen, verwenden Sie die PendingIntent-basierten APIs. Die OnAlarmListener-OnAlarm()-Methode wird über den angegebenen Zielhandler oder in der Hauptschleife der Anwendung aufgerufen, wenn NULL als TargetHandler-Parameter übergeben wird. In früheren Android-Versionen Build.VERSION_CODES. S und Build.VERSION_CODES. TIRAMISU, Apps für SDK-Ebene 31 oder höher, die zum Halten der SCHEDULE_EXACT_ALARM Berechtigung für die Verwendung dieser API erforderlich sind, es sei denn, die App war von Akkueinschränkungen ausgenommen. Hinweis: Ab Android-Version Build.VERSION_CODES. UPSIDE_DOWN_CAKE legt das System explizit alle Alarme ab, die über diese API festgelegt werden, wenn die aufrufende App nicht mehr in den Lebenszyklus wechselt.

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

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: