代码之家  ›  专栏  ›  技术社区  ›  Geordie Wicks

操作\u请求\u忽略\u电池\u优化不起任何作用

  •  1
  • Geordie Wicks  · 技术社区  · 7 年前

    允许/拒绝

    但如果我进入设置,应用程序,电池优化,我的应用程序仍然设置为“优化电池使用”。然后我可以手动切换到“不优化”,但根据文档和这里的所有其他问题,使用操作\u请求\u忽略\u电池\u优化意图,并单击允许,应该会更改此设置。

    我正在使用:

    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);
            }
        }
    

    我正在使用上面的代码。它会启动,弹出一个对话框“让应用程序总是在后台运行?”我按Allow。

    我的问题是,按“允许”实际上做了什么,因为如果你进入应用程序设置,看看电池优化,设置说应用程序仍然是“优化电池使用”。

    1 回复  |  直到 7 年前
        1
  •  0
  •   CommonsWare    7 年前

    我把你的代码放在一个废弃的项目中,添加了 android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

    所以,要么:

    • 你的问题只出现在android8.1或更早版本的设备上,反映了他们在9.0中修复的平台错误,或者

    • 您的问题与某些制造商的某些设备有关