簡體   English   中英

如何在Android“小米MIUI”設備中檢測“省電模式”?

[英]How to detect “power save mode” in Android “Xiaomi MIUI” devices?

如何在Android“小米MIUI”設備中檢測“省電模式”?

我使用此代碼來檢測 Android 5,6 中的“省電模式”:

PowerManager powerManager = (PowerManager)
    getActivity().getSystemService(Context.POWER_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
    && powerManager.isPowerSaveMode())
{
    //power saving mode
}

但它不適用於“小米 MIUI”設備。

對於Xiaomi ROM,系統設置名稱POWER_SAVE_MODE_OPEN將用於保存省電模式,因此我們可以通過系統設置api使用該名稱來檢測它是開啟還是關閉。

android.provider.Settings.System#getInt(android.content.ContentResolver, java.lang.String, int)

要監控省電模式的變化,我們可以為miui.intent.action.POWER_SAVE_MODE_CHANGED注冊一個意圖接收器或使用ContentObserver為 uri content://settings/system/POWER_SAVE_MODE_OPEN

請參閱此答案中的詳細代碼實現。

private void isPowerSaveModeHuaweiXiaomi(){
  if (Build.MANUFACTURER.equalsIgnoreCase("Xiaomi")) {
    try {
       int value = android.provider.Settings.System.getInt(getContext().getContentResolver(), "POWER_SAVE_MODE_OPEN");
               
            } catch (Settings.SettingNotFoundException e) {
                Log.d("Valor modo bateria:", "Error");
            }
        }else if (Build.MANUFACTURER.equalsIgnoreCase("Huawei")){
            try {
                int value = android.provider.Settings.System.getInt(getContext().getContentResolver(), "SmartModeStatus");
                
            } catch (Settings.SettingNotFoundException e) {
                Log.d("Valor modo bateria:", "Error");
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM