检查是否为应用程序启用了电池优化

新手上路,请多包涵

Android 6 和 7 有一些电源优化(打瞌睡模式),可在设备未使用时限制应用联网。

用户可以在电池设置中禁用任何应用程序的优化模式:

安卓设置截图

是否可以检查我的应用程序是否启用了优化?我需要要求用户禁用优化以获得更好的应用程序功能,但我不知道如何以编程方式检查它。

原文由 Nik 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 639
2 个回答

在您的清单中添加此权限。

 <uses-permission  android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

请求白名单/优化启用您的应用程序

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

原文由 Saurabh Gaddelpalliwar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题