【发布时间】:2017-11-23 09:19:56
【问题描述】:
根据Understanding App Standby 的说法,如果一个应用看起来好像用户不经常使用它,它可以进入待机状态。
我们有日历和联系人同步应用程序,这些应用程序设置一次后(理想情况下)在后台运行,此后无需与用户交互。这些应用程序同步到日历和联系人数据库,因此它们没有用户必须经常打开的 UI。他们只有一个您不经常需要的帐户管理 UI。
因此,上述文章中提到的条件均不适用于我们的应用。特别是:
- 用户不必为了“使用”而打开它,所以他几乎不启动它
- 应用未运行前台服务
- 我们不显示任何通知(除非发生错误)
- 这肯定不是设备管理应用
所以我的问题是,这样的应用程序(仅在后台运行)避免被系统置于待机状态的预期方式是什么?
我们收到许多来自用户的报告,称该应用停止在最近的三星设备上同步,除非它每 3 天打开一次。将应用程序添加到不受监控的应用程序白名单似乎没有帮助。 我们的日志显示,在 3 天未启动应用程序后,同步适配器不再启动,即使在触发“手动”同步时也是如此。只有手动打开应用才能继续同步。
我们真的必须显示通知才能保持“活跃”吗?
【问题讨论】:
-
应用待机不是问题。三星有自己的电池管理器应用程序,称为“智能管理器”(至少在 6 和更低版本上,不确定 7+ 上的名称是什么),它会杀死任何在 3 天内未打开的应用程序,除非它在白名单上说经理
-
另见这篇文章stackoverflow.com/questions/37205106/… 和两个答案
-
不幸的是,将应用程序添加到 SmartManager 白名单对我们不起作用。尽管如此,3 天后,所有同步请求都被推迟,同步适配器不再被调用。
-
你怎么知道的?有多个白名单,你确定把它放在智能经理的白名单上吗?
-
是的,我很确定我已将其添加到智能管理器白名单中。只是为了确保我已经开始另一个测试。我会在 3 天后看到结果。
标签: android android-syncadapter android-appstandby