Android自动打开省电模式,常规省电模式 | Android 开源项目 | Android Open Source Project...
Android 10 引入了一個稱為基于常規的省電模式調度選項。借助此選項,原始設備制造商 (OEM) 選擇的應用可以向系統提供信號,以實現更智能的省電模式調度。
此選項需要配置,在實現上是可選的。
設備配置
提供程序規范
要告知設置界面設備配置正確,請使用配置疊加層將值 config_batterySaverScheduleProvider 替換為應用的軟件包名稱。
例如,如果您希望應用軟件包 com.google.android.apps.turbo 控制基于常規設置,則可以設置此配置值:
com.google.android.apps.turbo
此時,手機應顯示基于常規選項。要進行驗證,請編譯映像,將其刷入手機,然后轉到設置 > 電池 > 省電模式 > 省電模式調度。此時應顯示基于常規選項。
默認關閉閾值
新的 config_dynamicPowerSavingsDefaultDisableThreshold 字段用于指定系統關閉省電模式的電池電量,前提是該模式已由基于常規調度程序開啟。系統默認設置為 80%,但您可以更改它。
重要提示:請將此值設置為低于 100。此停用閾值可用作提供程序應用因出錯而始終嘗試觸發省電模式時的后備方案。
應用配置
權限
應用從應用中開啟省電模式所需的 API 受權限 android.permission.POWER_SAVERandroid.permission.這是一項簽名/特許權限,因此請在 privapp-whitelist 中授予您希望其觸發省電模式的應用。
向應用授予 privappprivapp 權限的示例:
如果您未將此權限預先授予系統映像上的應用版本,則該應用無法獲取權限或正確調用 API。系統不提供常規權限錯誤之外的任何反饋,因此請驗證您是否可以調用 API 并觀察其效果。
安裝
要使基于常規正常工作,您必須使用必需的權限將應用預安裝到系統映像上。僅向一個應用授予 POWER_SAVER 權限,并允許該應用控制基于常規 API。當多個應用嘗試使用權限和 API 時,該功能不受支持且未指定。
觸發省電模式
API
假設到目前為止設置成功,配置中指定的 OEM 應用應該能夠成功調用 PowerManager 中的關聯方法,從而觸發省電模式:
public boolean setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold)
如果啟用了基于常規省電模式調度選項,且應用對 powerSaveHint 使用 true 值并調用此方法,則省電模式開啟。指定 disableThreshold,這樣一來,如果應用無法與系統通信,系統仍然知道在達到哪個電量百分比時可以安全地關閉省電模式。
與基于百分比的自動省電模式一樣,此 API 也受用戶替換和省電模式休眠的影響。如需了解詳情,請參閱 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
您可以使用下面的 adbadb 命令檢查這些值:
adb shell settings get global
驗證
沒有自動驗證此功能的方法,因為我們沒法知道原始設備制造商 (OEM) 將使用什么行為來決定何時觸發常規省電模式。因此,原始設備制造商 (OEM) 負責測試其集成,以確保行為符合預期,尤其是驗證設備是否可以完成以下任務:
用戶在省電模式調度界面中依次選擇根據電量百分比和 15%。只有當電量降到 15% 時,省電模式才會自動開啟。
用戶在省電模式調度界面中選擇基于常規。當應用使用 true 調用 API 時,省電模式開啟。此外,如果設備充電至指定的電量閾值并斷開電源,省電模式將自動關閉。
用戶在省電模式調度界面中選擇無。省電模式永遠不會自動開啟。
如果應用開啟省電模式,然后用戶手動進行替換,將省電模式設置為重新關閉(使用“快速設置”、“設置”等),則該模式應保持關閉狀態,直到用戶再次手動重新開啟或將設備插入電源。
總結
以上是生活随笔為你收集整理的Android自动打开省电模式,常规省电模式 | Android 开源项目 | Android Open Source Project...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 显存优化综述
- 下一篇: Android基站定位详解