[英]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.