Android 6.0 - 应用待机和应用小部件

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

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


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

3

我按照你提供的链接中的测试步骤进行了操作,并认为我已经验证了如果你的应用程序在任何地方添加了应用小部件,则你的应用程序将不会进入待机模式。当我将我的应用程序的应用小部件添加到启动器中,并连续运行这些命令时:

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

系统报告:

Idle=false

即使将应用小部件添加到停用的启动器中,该启动器未被设置为我的主要启动器,情况仍然如此。当我移除应用小部件并运行相同的命令时,系统报告如下:
Idle=true

我认为(尚未验证),当一个应用程序请求添加一个小部件时,系统会知道您的软件包中添加了一个小部件,因此系统不会将您的应用程序置于待机模式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接