首页 > 解决方案 > 一些搭载 Android 6 或更高版本的三星手机没有 android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS

问题描述

我的应用程序需要允许用户为我的应用程序禁用打盹模式,因此该应用程序需要打开android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS,但是android.content.ActivityNotFoundException当我尝试在 Galaxy A5 等三星手机上打开该意图时,我得到了。

这些手机上是否有等价物?其他手机呢?

谢谢。

编辑:我只是想清楚一点,我试图找到像 A5 这样的三星手机的实际设置屏幕,而不仅仅是如何打开设置。我需要将用户引导到正确的位置。

编辑:为了进一步澄清,我们没有在三星手机上找到isIgnoringBatteryOptimizations()返回的设置true。这是我的主要问题,需要在该手机上更改什么设置才能使其变为true.

标签: androidsamsung-mobileandroid-doze

解决方案


三星 Galaxy A5 在三个操作系统上运行:

Android 6.0.1、Android 7.0、Android 8.0.0(GFX 台

android.settings。IGNORE_BATTERY_OPTIMIZATION_SETTINGS活动是在 API 23 中添加的。之后它没有被删除。出于某种原因,三星从未解决此错误。唯一的解决方案是将用户带到系统设置屏幕。请参阅以下解决方案:

https://github.com/kontalk/androidclient/commit/be78119687940545d3613ae0d4280f4068125f6a

编辑

在误解了这个问题并澄清了 OP 之后,我添加了一个潜在的解决方案来解决需要访问哪个电源设置。

如果您还没有,请确保您使用的是 android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS。在使用此活动之前,请确保在清单中添加 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS。

活动操作:要求用户允许应用忽略电池优化(即,将它们放在 ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS 显示的应用白名单中)。应用程序要使用它,它还必须持有 Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 权限。

这应该将用户带到必要的确切选项。


推荐阅读