如何解决一些搭载 Android 6 或更高版本的三星手机没有 android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS
我的应用程序需要允许用户为我的应用程序禁用打瞌睡模式,因此该应用程序需要打开 android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS
,但在某些三星手机(例如银河 A5。
在这些手机上有类似的吗?其他手机呢?
谢谢。
编辑:我只想说清楚,我试图找到像 A5 这样的三星手机上的实际设置屏幕,而不仅仅是如何打开设置。我需要将用户引导到正确的位置。
编辑:为了进一步澄清,我们没有在三星手机上找到使 android.content.ActivityNotFoundException
返回 isIgnoringBatteryOptimizations()
的设置。这是我的主要问题,需要在该手机上更改哪些设置才能使其变为 true
。
解决方法
三星 Galaxy A5 在三个操作系统上运行:
Android 6.0.1、Android 7.0、Android 8.0.0 (GFX Bench)
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 权限。
这应该会让用户找到必要的确切选项。
,如果您有这些手机之一(可能来自某些在线服务的虚拟手机),您可以运行 adb 命令来查找正在运行的活动,这样您就可以检查意图并可能允许您调用它:
adb shell dumpsys activity activities
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。