意图设置.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS的对话框

4

我正在使用CyanogenMod的Android 6,但是当我启动下面这个意图时,什么也没有发生!

if(Build.VERSION.SDK_INT >= Constants.IGNORE_BATTERY_OPTIMIZATIONS_MIN_BUILD) {
                    String packageName = getPackageName();
                    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
                    if (!pm.isIgnoringBatteryOptimizations(packageName)) {
                        Intent intent = new Intent(android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS).setData(Uri.parse("package:" + packageName));
                        try {
                            startActivity(intent);
    ...

电池优化对话框应该显示吗?如果是,那么我做错了什么?


请注意,如果您使用此功能,您的应用程序很可能会被从商店中删除。 - Tim
1
不会的,因为我只想显示对话框,让用户自己操作。 - egmontr
1个回答

7
你需要在你的清单文件中添加这一行代码:

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

这是一个非常棒的解决方案,可以获取电池优化设置的警报......但我在某个地方读到过,如果在清单文件中写入上述权限,谷歌应用商店将拒绝该应用程序....这是真的吗? - Himanshu
我读到了同样的内容,并在我们的开发团队内进行了讨论,然后才添加了这个功能。它已经在我们的Play Store alpha频道中,目前还没有迹象表明Google会撤下该应用程序。如果我们的应用被从商店中撤下,我一定会回报的。 - Janne Oksanen
作为后续,我很高兴地报告,在生产中运行了8个月后,没有迹象表明Google Play反对使用此权限。 - Janne Oksanen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接