安卓Q:后台活动启动

3

1
请参阅 https://developer.android.com/guide/components/activities/tasks-and-back-stack 了解任务及其返回堆栈的解释。 - Michael
2个回答

3
“前台任务”是包含当前可见的Activity(即可视的Activity)的任务。
“前台任务”也可以包含其他属于同一应用程序或不同应用程序的活动。由于它们被可见的Activity所覆盖,因此所有这些活动都在“前台任务的后退栈”中。
以下是一个(假设的)示例:
您启动了一个照片查看器应用程序,选择一张照片,使用meme maker编辑照片,然后选择“通过电子邮件发送”,现在正在Email应用程序中撰写电子邮件。 “前台任务”的后退栈如下:
PhotoViewerMainActivity->PhotoViewerPhotoActivity->MemeMakerActivity->EmailComposerActivity

当前最顶层可见的视图是 EmailComposerActivity,它是您在屏幕上可以看到的视图。其他活动被可见的活动覆盖。
基于 Android Q 的规则,任何属于 PhotoViewer 应用程序、MemeMaker 应用程序或 EmailComposer 应用程序的代码都允许启动一个 Activity。
如果您现在按下 HOME 按钮,则“前台任务”将移至后台,其中的活动将不再是“前台任务的返回堆栈中的活动”。

1
感谢您清晰明了的用例!我的理解是正确的!希望Google文档能更加友好,像这样 :) - NitZRobotKoder

0
该应用程序在前台任务的后堆栈中有一个活动。这意味着您的应用程序在前台任务的后堆栈中有一个活动。因此,当查看当前活动时,如果按“返回”并弹出后堆栈,则会出现一个活动(而不是这是堆栈中最顶部的活动,因此在按下返回键时“退出”应用程序)。要更好地理解该短语,您需要熟悉Android任务堆栈管理。祝你好运。

任务=活动堆栈..我有一个只有1个活动的cordova应用程序,它能否拥有前台任务?您能否举例说明从哪里可以启动活动的前台任务? - NitZRobotKoder
1
任务是一堆活动中的一个或多个。想象一下物品的堆叠。你把一个放在另一个上面。但是你可以有多个任务(堆)的活动。这意味着你可以返回到任务(堆)中的前一个,或者选择去另一个堆。你真的需要阅读上面的链接。在官方的Android文档中,所有的内容都有更好的详细说明。David的答案也提供了一个例子。如果你只有一个活动,并且它是可见的,那么它就是前台任务。 - Martin Marconcini

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