如何检测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”设备上是行不通的。
发布于 2021-01-12 19:21:47
对于Xiaomi只读存储器,将使用系统设置名称POWER_SAVE_MODE_OPEN来节省省电模式,因此我们可以使用此名称通过系统设置api来检测其是否打开或关闭。
android.provider.Settings.System#getInt(android.content.ContentResolver, java.lang.String, int)
为了监控省电模式的变化,我们可以为miui.intent.action.POWER_SAVE_MODE_CHANGED注册一个意向接收器,或者为uri content://settings/system/POWER_SAVE_MODE_OPEN使用ContentObserver。
请参阅此answer中的详细代码实现。
发布于 2021-07-16 22:15:22
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");
}
}
}https://stackoverflow.com/questions/44919490
复制相似问题