日常安排省電模式

Android 10 推出了省電時間表選項 依日常安排這個選項可讓原始設備製造商 (OEM) 選擇的應用程式向系統提供信號,以便更智慧地安排省電模式。這個選項需要設定,且您可以選擇是否實作。

裝置設定

供應商規格

如要通知「設定」 UI 裝置設定正確無誤,請使用 設定疊加層,將 config_batterySaverScheduleProvider 值覆寫為 應用程式的套件名稱

舉例來說,如果要將 com.google.android.apps.turbo 應用程式套件 定義根據處理常式設定,接著應設定此設定值:

<string name="config_batterySaverScheduleProvider" translatable="false">
com.google.android.apps.turbo</string>

現在手機應會顯示「根據日常安排」選項。如要驗證,請建構映像檔、將其閃燈至手機,然後依序前往「設定」>「電池」>「省電模式」>「省電模式時間表」。畫面上應該會顯示「 based on routine」選項。

預設關閉閾值

新的 config_dynamicPowerSavingsDefaultDisableThreshold 欄位會指定 系統關閉省電模式時關閉的電池電量 (如果開啟的話) 依據以處理常式排程器為準。系統預設值為 80%,但您也可以 變更內容。

應用程式設定

權限

從應用程式開啟省電模式時,應用程式所需的 API 會受到保護 具備 android.permission.POWER_SAVER 權限。這是 請授予簽章/特殊權限,因此請授予您要觸發的應用程式 省電模式 (適用於privapp-whitelist)。

privapp 權限授予應用程式的範例:

<privapp-permissions package="com.google.android.apps.turbo">
   <permission name="android.permission.POWER_SAVER"/>
</privapp-permissions>

如未將這項權限預先授予系統上的應用程式版本 映像檔,應用程式就無法取得權限,也無法正確呼叫 API。 除了一般權限錯誤以外,系統不會提供任何意見回饋,因此 確認是否可以呼叫 API 並觀察其影響。

安裝

為了讓根據日常安排正常運作,您必須在 具備必要權限的系統映像檔只給一個應用程式 POWER_SAVER 並允許其控制根據處理常式 API。行為 如果有多個應用程式嘗試使用權限,且 API 並未顯示 不支援及未指定

觸發省電模式

API

假設設定已順利完成,則設定中所指定的原始設備製造商 (OEM) 應用程式應該設定成功 才能順利在 PowerManager 中呼叫相關聯的方法以觸發 省電模式:

public boolean setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold)

如果啟用「依據日常安排」省電模式時間表選項,且應用程式以 powerSaveHinttrue 值呼叫此方法,則省電模式會開啟。指定 disableThreshold,以便在應用程式無法通訊時 但系統仍可知道在電量剩多少百分比時 已關閉省電模式。

這個 API 會根據百分比自動省電模式,接受使用者覆寫和省電模式暫停的設定。詳情請參閱 API 說明文件 瞭解詳情

如要確認 API 是否成功呼叫,請全域查詢設定以驗證 備份設定已變更值

舉例來說,如果使用者選取日常安排省電模式模式,且應用程式 呼叫 setDynamicPowerSaveHint(true, 10) 時,全域設定應具有 這些值:

automatic_power_save_mode: 1
dynamic_power_savings_disable_threshold: 10
dynamic_power_savings_enabled: 1

如果接著呼叫 setDynamicPowerSaveHint(false, 25),值應為:

automatic_power_save_mode: 1
dynamic_power_savings_disable_threshold: 25
dynamic_power_savings_enabled: 0

您可以使用以下 adb 指令檢查這些值:

adb shell settings get global <setting-name>

驗證

由於無法判斷,系統無法自動驗證此功能 原始設備製造商 (OEM) 決定觸發日常安排省電模式的時機 模式。因此,原始設備製造商 (OEM) 必須負責測試整合情形, 行為符合預期具體來說,請確認裝置 完成下列工作:

  • 使用者在省電模式時間表 UI 中,選取「根據百分比」 然後選取 15%省電模式應只在電量剩下 15% 時自動開啟。
  • 使用者在省電模式時間表 UI 中選取「根據日常安排」。當應用程式使用 true 呼叫 API 時,省電模式就會開啟。此外, 如果裝置充電至 並且未接上電源
  • 使用者在省電模式排程 UI 中選取「none」。省電模式絕不應自動開啟。
  • 如果應用程式開啟省電模式,但使用者手動覆寫電池電力 即可再次關閉 (使用快速設定、設定等) 時,應保持關閉狀態 關閉,直到使用者手動重新開啟,或將 同時監控每部裝置的位置