共用方式為


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
屬性

適用於