【问题标题】:Battery optimization dialog not working in Android Oreo电池优化对话框在 Android Oreo 中不起作用
【发布时间】:2017-09-25 13:53:28
【问题描述】:

我正在使用following method 请求将我的应用列入白名单:

    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    String packageName = getApplicationContext().getPackageName();


    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (!pm.isIgnoringBatteryOptimizations(packageName)) {

            Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            intent.setData(Uri.parse("package:" + packageName));
            startActivity(intent);
        }
    }

我还在清单中添加了权限:

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

(是的,我知道此权限会让您在 Google Play 中被禁止。此代码仅用于测试目的)。

在 Android Oreo 中,会显示对话框,并且在用户接受它后,什么也不会发生。该应用程序未添加到白名单中。但是从那里调用 PackageManager.isIgnoringBatteryOptimizations 总是按预期返回 true。

这是一个错误还是他们在 Oreo 中删除了此功能?

【问题讨论】:

    标签: android battery whitelist android-8.0-oreo


    【解决方案1】:

    显然,这在一些早期的 ROM 和新的支持 Google Play 的模拟器中是一个问题。我在常规的 Oreo 模拟器中对此进行了测试,它按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      • 2023-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      相关资源
      最近更新 更多