【问题标题】:Android 6.0 - App Standby and AppWidgetsAndroid 6.0 - App Standby 和 AppWidgets
【发布时间】:2015-09-23 01:31:10
【问题描述】:

在应用小部件的上下文中,Google 对用户“积极使用”应用的定义是什么?如果一个应用程序长时间没有打开但在主屏幕上有一个小部件,有人知道Android是否会将该应用程序置于待机模式? 从文档来看,应用小部件似乎符合以下描述:“应用当前有一个进程处于前台(作为活动或前台服务,或正在被另一个活动或前台服务使用)。”但我不太确定。

想法?

https://developer.android.com/preview/features/power-mgmt.html

【问题讨论】:

  • 好问题。我希望如果您使用更新小部件的“标准”方式 - 通过在小部件的配置 xml 中指定更新间隔 - 那么系统将正确调用与您的小部件关联的广播接收器,即使应用程序本身在待机模式。不知道这将如何影响以自定义方式更新的小部件(例如,将更新间隔设置为 0 并通过 AlarmManager 安排更新)。

标签: android android-appwidget android-appstandby


【解决方案1】:

我按照您引用的链接中的测试步骤进行操作,并相信我已经验证,如果您的应用在任何地方添加了应用小部件,您的应用将不会进入待机模式。当我将应用的应用小部件添加到启动器并背靠背运行这些命令时:

$ adb shell am set-inactive <packageName> false
$ adb shell am get-inactive <packageName>

系统报告:

Idle=false

如果将应用小部件添加到未在系统设置中设置为主启动器的已停止启动器中,情况也是如此。当我删除应用小部件并运行系统报告的相同命令时:

Idle=true

我相信(尚未验证)当应用请求添加该小部件时,系统会意识到您的软件包中的小部件已添加到某处,因此系统不会将您的应用置于待机模式。

【讨论】:

    猜你喜欢
    • 2016-08-22
    • 2010-12-24
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    相关资源
    最近更新 更多