如何通过 Ultra Battery Saver 模式保持应用程序运行/Adb shell 卸载 Ultra Battery Saver? 无根

问题描述

我试图在没有 root 权限的情况下禁用在 Miui 11 上启动超级省电模式的选项。是否有可能做到这一点?我试图卸载 com.miui.securitycenter 这有助于直到第一次重新启动。然后进入bootloop,需要擦除手机。

或者,如果我可以让应用程序永久运行,即使在超级省电模式下也会有所帮助。

解决方法

如果没有root设备,这是不可能的,但是您可以通过引导用户进行如下设置来要求用户为您忽略节电模式:

PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if (pm != null && !pm.isIgnoringBatteryOptimizations(getPackageName())) {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
            Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            intent.setData(Uri.parse("package:" + getPackageName()));
            startActivity(intent);
        }
    }
}

还要记住,如果您使用此代码,您将很难在 Google Play 商店中发布您的应用。