android.content.ActivityNotFoundException“ android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS”

cas*_*orz 5 android android-6.0-marshmallow

我正在尝试引导用户进行电池优化活动,它似乎对大多数用户都有效,除了一些获得Android 6的三星手机,我可以得到:

Fatal Exception: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS }
Run Code Online (Sandbox Code Playgroud)

这是我用来启动它的:

Intent intent = new Intent("android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

知道我应该在这些手机上启动什么吗?

谢谢。

小智 -2

使用下面的代码检查您的应用程序是否已忽略电池优化,如果是,则显示弹出窗口以启用相同的功能。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
            if (!pm.isIgnoringBatteryOptimizations(getPackageName())) {

                Intent batterySaverIntent=new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, Uri.parse("package:"+getPackageName()));
                startActivity(batterySaverIntent);
            }
        }
Run Code Online (Sandbox Code Playgroud)