【问题标题】:Request Samsung to whitelist my app from battery optimization 'Put app to sleep'请求三星将我的应用从电池优化“让应用进入睡眠状态”中列入白名单
【发布时间】:2019-12-21 23:43:54
【问题描述】:

我们有一个播客播放器应用程序,它在大多数手机上运行良好,但一些三星用户报告说当屏幕关闭时流停止播放。我们正在使用前台服务和通知来通过 ExoPlayer 进行播放。

经过一番调查,事实证明,如果您在设置 -> 设备维护 -> 电池中为我们的应用禁用“让应用进入睡眠状态”,它将按预期工作。

是否可以为我们的应用自动禁用让应用进入睡眠状态? 我已阅读有关 Samsung Knox API ApplicationPolicy.addPackageToBatteryOptimizationWhiteList() 的信息,但这需要为我们的应用请求设备管理员权限,这对用户来说会很可怕。

【问题讨论】:

  • 当你test your app with doze在三星旁边的不同手机上你得到相同的结果?
  • 你是什么意思?打盹结果还可以,但三星将该应用程序放在单独的应用程序睡眠列表中。在非三星手机上未发现任何问题。
  • 这里有一个关于这个问题的好资源dontkillmyapp.com 看起来三星正在遵循一个讨厌的过程来节省电池电量,这让我们非常头疼,这对我们一个开发者来说是不公平的,根本不公平让我们的服务正常运行。我会理解他们何时杀死一个沉重的应用程序,但我不明白他们怎么敢在没有用户同意的情况下杀死和电池使用率为 0% 的应用程序,甚至无法询问用户是否可以保留该应用程序在后台不这样做,这是可耻的
  • 您尝试过addPackageToBatteryOptimizationWhiteList 方法吗?它似乎只适用于具有签名保护级别的 KNOX_APP_MGMT 权限。不幸的是,普通应用似乎无法使用它。
  • 不,我没用过。

标签: android samsung-mobile android-doze samsung-knox


【解决方案1】:

来自documentation

拥有 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 权限的应用可以触发系统对话框,让用户直接将应用添加到白名单,而无需进入设置。应用触发 ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Intent 以触发对话。

在要求用户将您的应用添加到白名单之前,请确保该应用与白名单中的acceptable use cases 匹配。

顺便说一句,“让应用进入睡眠状态”不应该对所有应用默认关闭吗?至少我的 S8 是这样的。

【讨论】:

  • 这适用于系统的电池优化,但三星做了另一个优化应用程序,工作方式不同。让应用进入睡眠状态可能会默认关闭,但它表示如果您的应用在后台消耗电量,它将自动开启。
  • 对不起,我意识到我应该把我的答案作为评论。我不确定三星的电池优化是如何工作的。
猜你喜欢
  • 2018-12-23
  • 2011-05-04
  • 2018-03-22
  • 2018-01-14
  • 1970-01-01
  • 2017-06-23
  • 1970-01-01
  • 2011-05-12
相关资源
最近更新 更多