https://developer.android.com/preview/privacy/background-activity-starts
正在Android Q上工作,从后台启动活动。
运行在Android Q上的应用程序只能在满足以下一个或多个条件的情况下开始活动:
“该应用在前台任务的后堆栈中具有活动。”
有人可以举例说明“前景任务”是什么意思。
谢谢
答案 0 :(得分:2)
“前景任务”是包含屏幕上当前可见的Activity
(即可见的Activity
)的任务。
“前景任务”还可以包含其他活动,这些活动要么属于同一应用程序,要么属于不同的应用程序。所有这些活动,由于它们被可见的Activity
“覆盖”,因此“在前台任务的后堆栈中” 。
这是一个(假设的)示例:
您启动照片查看器应用程序,选择照片,使用模因制作程序编辑照片,然后选择“通过电子邮件发送”,并且现在已在电子邮件应用程序中编写电子邮件。 “前景任务”的后堆栈如下所示:
PhotoViewerMainActivity->PhotoViewerPhotoActivity->MemeMakerActivity->EmailComposerActivity
当前最可见的Activity
是EmailComposerActivity,您可以在屏幕上看到它。其他活动由可见的Activity
覆盖。
根据Android Q的规则,允许属于PhotoViewer
应用,MemeMaker
应用或EmailComposer
应用的任何代码启动Activity
。
如果现在按下HOME按钮,则“前台任务”将移至后台,并且其中的活动将不再位于“前台任务的后退堆栈中”
答案 1 :(得分:0)
该应用在前台任务的后堆栈中具有活动
这实际上意味着您的应用程序在前台任务的后堆栈中具有“活动”。因此,在查看当前活动时,如果按“后退”并弹出后退堆栈,则会有一个“活动”(而不是这是堆栈中最重要的活动,因此当您按回退时会“退出”您的应用程序)>
要更好地理解该短语,您需要熟悉Android Task Stack management;)
祝你好运。