AlarmManager.SetWindow 方法

定义

重载

SetWindow(AlarmType, Int64, Int64, PendingIntent)

将警报安排在给定的时间范围内交付。

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

将警报安排在给定的时间范围内交付。

SetWindow(AlarmType, Int64, Int64, String, IExecutor, AlarmManager+IOnAlarmListener)

SetWindow(AlarmType, Int64, Int64, PendingIntent)

将警报安排在给定的时间范围内交付。

[Android.Runtime.Register("setWindow", "(IJJLandroid/app/PendingIntent;)V", "GetSetWindow_IJJLandroid_app_PendingIntent_Handler")]
public virtual void SetWindow (Android.App.AlarmType type, long windowStartMillis, long windowLengthMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("setWindow", "(IJJLandroid/app/PendingIntent;)V", "GetSetWindow_IJJLandroid_app_PendingIntent_Handler")>]
abstract member SetWindow : Android.App.AlarmType * int64 * int64 * Android.App.PendingIntent -> unit
override this.SetWindow : Android.App.AlarmType * int64 * int64 * Android.App.PendingIntent -> unit

参数

type
AlarmType

警报类型。

windowStartMillis
Int64

警报的最早时间(以毫秒为单位),以适当的时钟单位表示(具体取决于警报类型)。

windowLengthMillis
Int64

请求的传递窗口的长度(以毫秒为单位)。 警报将不晚于此多毫秒后 windowStartMillis交付。 请注意,此参数是持续时间 而不是窗口末尾的时间戳。

operation
PendingIntent

警报关闭时要执行的操作;通常来自 PendingIntent#getBroadcast IntentSender.getBroadcast().

属性

注解

将警报安排在给定的时间范围内交付。 此方法与 #set(int, long, PendingIntent)此方法类似,但允许应用程序精确控制操作系统可能调整其交付程度。 此方法允许应用程序利用交付批处理产生的电池优化,即使其警报的适时时间要求适中。

注意:从 API Build.VERSION_CODES#S开始,应用不应在不到 10 分钟的窗口中传递。 如果警报应在近期内触发,系统将尽力容纳较小的窗口,但不能保证,应用应该期望任何小于 10 分钟的窗口将长到 10 分钟。

此方法还可用于在多个警报之间实现严格的排序保证,方法是确保为每个警报请求的窗口不相交。

当不需要精确交付时,应用程序应使用标准 #set(int, long, PendingIntent) 方法。 这将为 OS 提供最大的灵活性,以最大程度地减少唤醒和电池使用。 对于必须在精确指定的时间交付且不能接受变化的警报,应用程序可以使用 #setExact(int, long, PendingIntent)

适用于 . 的 android.app.AlarmManager.setWindow(int, long, long, android.app.PendingIntent)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

另请参阅

  • <xref:Android.App.AlarmManager.Set(Android.App.AlarmType%2c+System.Int64%2c+System.Int64)>
  • <xref:Android.App.AlarmManager.SetExact(Android.App.AlarmType%2c+System.Int64%2c+System.Int64)>
  • <xref:Android.App.AlarmManager.SetRepeating(Android.App.AlarmType%2c+System.Int64%2c+System.Int64%2c+System.Int64)>
  • Cancel(PendingIntent)
  • SendBroadcast(Intent)
  • <xref:Android.Content.Context.RegisterReceiver(Android.Content.BroadcastReceiver%2c+Android.Content.IntentFilter)>
  • FilterEquals(Intent)

适用于

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

将警报安排在给定的时间范围内交付。

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

参数

type
AlarmType

警报类型。

windowStartMillis
Int64

警报的最早时间(以毫秒为单位),以适当的时钟单位表示(具体取决于警报类型)。

windowLengthMillis
Int64

请求的传递窗口的长度(以毫秒为单位)。 警报将不晚于此多毫秒后 windowStartMillis交付。 请注意,此参数是持续时间 而不是窗口末尾的时间戳。

tag
String
targetHandler
Handler
属性

注解

适用于 . 的 android.app.AlarmManager.setWindow(int, long, long, android.app.PendingIntent)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于

SetWindow(AlarmType, Int64, Int64, String, IExecutor, AlarmManager+IOnAlarmListener)

[Android.Runtime.Register("setWindow", "(IJJLjava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/AlarmManager$OnAlarmListener;)V", "GetSetWindow_IJJLjava_lang_String_Ljava_util_concurrent_Executor_Landroid_app_AlarmManager_OnAlarmListener_Handler", ApiSince=34)]
public virtual void SetWindow (Android.App.AlarmType type, long windowStartMillis, long windowLengthMillis, string? tag, Java.Util.Concurrent.IExecutor executor, Android.App.AlarmManager.IOnAlarmListener listener);
[<Android.Runtime.Register("setWindow", "(IJJLjava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/AlarmManager$OnAlarmListener;)V", "GetSetWindow_IJJLjava_lang_String_Ljava_util_concurrent_Executor_Landroid_app_AlarmManager_OnAlarmListener_Handler", ApiSince=34)>]
abstract member SetWindow : Android.App.AlarmType * int64 * int64 * string * Java.Util.Concurrent.IExecutor * Android.App.AlarmManager.IOnAlarmListener -> unit
override this.SetWindow : Android.App.AlarmType * int64 * int64 * string * Java.Util.Concurrent.IExecutor * Android.App.AlarmManager.IOnAlarmListener -> unit

参数

type
AlarmType
windowStartMillis
Int64
windowLengthMillis
Int64
tag
String
executor
IExecutor
属性

适用于