共用方式為


AlarmManager.SetExactAndAllowWhileIdle 方法

定義

就像 #setExact(int, long, PendingIntent),但是即使系統處於低功率閑置模式,仍允許執行此警示。

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

參數

type
AlarmType

警示類型。

triggerAtMillis
Int64

使用適當的時鐘(視警示類型而定),以毫秒為單位的時間。

operation
PendingIntent

警示關閉時要執行的動作;通常來自 PendingIntent#getBroadcast IntentSender.getBroadcast()

屬性

備註

就像 #setExact(int, long, PendingIntent),但是即使系統處於低功率閑置模式,仍允許執行此警示。 如果您不需要確切的警示排程,但仍需要在閒置時執行,請考慮使用 #setAndAllowWhileIdle。 這種類型的警示必須<只<使用 b>/b> 才能用於實際要求警示在閑置時關閉的情況-合理的範例是行事曆通知應該發出聲音,讓使用者知道它。 分派警示時,應用程式也會新增至系統的暫存電源豁免清單約 10 秒,以允許該應用程式取得進一步的喚醒鎖定,以完成其工作。</p>

這些警報會對閑置時裝置的電源使用造成重大影響(因而造成大量電池責怪應用程式排程它們),因此應該小心使用它們。 為了減少濫用,有一些限制這些警示對於特定應用程式會多久關閉。 在正常系統操作下,它不會每分鐘發送這些警報超過每一分鐘(此時會發送每個此類擱置的警報):當處於低功率閑置模式時,此持續時間可能會相當長,例如 15 分鐘。

與其他警示不同,系統可以自由地重新排程這種類型的警示,以與其他任何警示不一樣發生,即使是來自相同應用程式的警示也是如此。 這顯然會在裝置閑置時發生(因為此警示可以在閑置時關閉,當應用程式的任何其他警示將持續到稍後時),也可能會發生,即使未閑置也可能發生。 請注意,因為應用程式已選擇加入此行為,因此OS會比一般確切的警示更彈性地排程這些警示。 當裝置閑置時,可能需要更多自由時間進行排程,以優化電池使用時間。

<p class=“note”><strong>Note:</strong> Starting from Build.VERSION_CODES#S, 以 SDK 層級 31 或更新版本為目標的應用程式需要要求 Manifest.permission#SCHEDULE_EXACT_ALARM SCHEDULE_EXACT_ALARM 使用此 API 的許可權,除非應用程式不受電池限制。 使用者和系統可以透過 [設定] 中的特殊應用程式存取畫面撤銷此許可權。

<p class=“note”><strong>Note:</strong> Exact alarms only be used for user-facing features. 如需詳細資訊,請參閱 精確警示許可權

即使應用程式位於背景,也允許透過此 API 排程的警示啟動前景服務。

android.app.AlarmManager.setExactAndAllowWhileIdle(int, long, android.app.PendingIntent)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於