首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测Android“小米MIUI”设备的“省电模式”?

如何检测Android“小米MIUI”设备的“省电模式”?
EN

Stack Overflow用户
提问于 2017-07-05 15:21:41
回答 2查看 453关注 0票数 2

如何检测Android“小米MIUI”设备的“省电模式”?

我使用下面的代码来检测Android 5,6中的“省电模式”:

代码语言:javascript
复制
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”设备上是行不通的。

EN

回答 2

Stack Overflow用户

发布于 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中的详细代码实现。

票数 0
EN

Stack Overflow用户

发布于 2021-07-16 22:15:22

代码语言:javascript
复制
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");
            }
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44919490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档