【问题标题】:Some Samsung phones with Android 6 or higher don't have android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS一些搭载 Android 6 或更高版本的三星手机没有 android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS
【发布时间】:2023-03-29 04:45:01
【问题描述】:

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

这些手机上是否有同等功能?其他手机呢?

谢谢。

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

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

【问题讨论】:

    标签: android samsung-mobile android-doze


    【解决方案1】:

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

    Android 6.0.1、Android 7.0、Android 8.0.0 (GFX Bench)

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

    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 权限。

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

    【讨论】:

    • 但是他们需要在三星 Galaxy A5 上禁用什么设置?在更改了他们可以找到的每个省电设置后,我使用该手机的一位用户继续为isIgnoringBatteryOptimizations() 获取false
    • 对不起!我一定误解了这个问题。我正在更新我的答案,但我仍然不确定,因为我不确定你实现了什么以及你没有实现什么。
    • Google 的功能列表非常有限,应用程序必须提供这些功能才能获得批准使用清单上的实际电池优化权限,事实上,如果您这样做,他们会暂停您的应用程序。所以我只能使用你在第一个try/catch 之后所做的事情,而且我已经这样做了。我的问题是用户最终会在您的代码中使用第三个catch,在某些情况下,很难找到该设置的正确位置。特别是在A5 上,我们仍然没有找到它。
    【解决方案2】:

    如果您有其中一部手机(可能是来自某些在线服务的虚拟手机),您可以运行 adb 命令来查找正在运行的活动,这样您就可以检查意图,也许您可​​以调用它:

    adb shell dumpsys activity activities

    【讨论】:

    • 我们的问题是我们没有找到设置。即使翻转了我们找到的所有设置,isIgnoringBatteryOptimizations() 仍然是错误的。
    • @casolorz 找到一个可以执行您想要的(或使用该功能)的应用程序并对其进行反编译以检查他们是如何做到的,也许您需要检查该手机上安装的三星应用程序
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多