AlarmManager.SetWindow 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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
- listener
- AlarmManager.IOnAlarmListener
- 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
- listener
- AlarmManager.IOnAlarmListener
- 属性