【发布时间】:2020-05-14 06:52:58
【问题描述】:
我一直在用后台服务测试电池优化白名单。
当应用程序处于后台时,后台服务会在几分钟后(在我的设备中大约 1m)被破坏。
但是,被列入电池优化白名单的应用启动的服务,即使不是前台服务,似乎也没有被破坏。
恕我直言,电池优化允许将应用排除在打盹模式和应用待机模式之外,而不是后台服务限制。
电池优化白名单是否也允许后台服务?
谢谢。
【问题讨论】:
我一直在用后台服务测试电池优化白名单。
当应用程序处于后台时,后台服务会在几分钟后(在我的设备中大约 1m)被破坏。
但是,被列入电池优化白名单的应用启动的服务,即使不是前台服务,似乎也没有被破坏。
恕我直言,电池优化允许将应用排除在打盹模式和应用待机模式之外,而不是后台服务限制。
电池优化白名单是否也允许后台服务?
谢谢。
【问题讨论】:
在小米、一加等的定制操作系统中,这种行为高度依赖于他们的操作系统定制。
电池优化肯定会在一定程度上帮助运行警报接收器和后台服务。但根据我使用一加 5T 设备的经验,用户必须从设置中手动更改电池优化。如果我们使用以下代码来实现这一点,即使在用户允许在后台运行服务弹出窗口之后,这也不会产生任何变化。用户必须在设置中将特定应用标记为未优化电池。
Intent intent = new Intent();
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + this.getPackageName()));
this.startActivityForResult(intent, IGNORE_BATTERY_OPTIMIZATIONS_REQUEST);
这里只是想让你知道,开发者网站上提到的几个用例,只能让你的应用列入白名单:
https://developer.android.com/training/monitoring-device-state/doze-standby#whitelisting-cases
同样根据 google play 政策,
Google Play 政策禁止应用申请直接豁免 来自 Android 6.0+ 中的电源管理功能(打盹和应用待机) 除非应用的核心功能受到不利影响
【讨论】: