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