禁用或检测应用特定的省电模式

Posted

技术标签:

【中文标题】禁用或检测应用特定的省电模式【英文标题】:Disabling or detecting the app specific power saving mode 【发布时间】:2017-06-03 00:20:39 【问题描述】:

三星设备(嗯,至少其中一些)将所有已安装的应用程序添加到“应用程序省电模式”列表中,这会影响后台服务侦听应用程序的一些关键信息。

某些应用程序在安装后会以某种方式禁用此模式,无需任何额外步骤。对Programmatically disable app power saving mode on Samsung 线程的评论表明,Facebook 和 WhatsApp 等应用程序可能在操作系统白名单中,但我已经看到不那么受欢迎的应用程序也在这样做。知道如何实现这一目标吗?

我尝试过使用ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 意图,但没有成功。 PowerManager#isIgnoringBatteryOptimizations 开始返回 true 但应用程序省电模式和省电模式设置中的东西都没有为应用程序禁用。

如果您认为唯一的方法是联系三星将该应用列入白名单,那么最好的方法是什么?

另外,如果无法以编程方式禁用应用省电模式,是否有办法检测应用是否已启用它,以便我可以打开应用并要求用户禁用它?

【问题讨论】:

有这方面的消息吗?我们有同样的问题... 【参考方案1】:

您好,有两种省电模式:

常规的安卓打盹模式,

以及自定义的“省电模式”。

对于打盹模式的操作:

Intent intent = new Intent(); intent.setAction((Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); intent.setData(Uri.parse("package:" + packageName))

并开始意图。

但是对于自定义省电模式(尤其是华为和其他一些),您必须根据供应商启动自定义省电模式意图。 清单在这里: https://***.com/a/48641229/4606542

【讨论】:

以上是关于禁用或检测应用特定的省电模式的主要内容,如果未能解决你的问题,请参考以下文章

Android中的省电模式以编程方式控制?

关于IDEA的省电模式

关于IDEA的省电模式

如何检查我的分机是不是处于省电模式?

以编程方式启用定位模式高精度或省电,无需用户访问设置

Android省电开发 浅析