Android 问:后台 activity 启动

Android Q : background activity starts

https://developer.android.com/preview/privacy/background-activity-starts

正在处理 Android Q,从后台启动 activity。

Apps 运行 on Android Q 只有满足以下一个或多个条件才能开始活动:

"The app has an activity in the back stack of the foreground task."

有人可以举例说明 "foreground task" 的意思吗?

谢谢

The app has an activity in the back stack of the foreground task

这意味着您的应用程序在前台任务的后台中有一个 Activity,字面意思。因此,当查看您当前的 activity 时,如果您按 "back" 并弹出后退堆栈,则会出现一个 Activity(而不是堆栈中最顶层的 activity因此 "exiting" 当你按回键时你的应用)

要更好地理解该短语,您需要熟悉 Android Task Stack management ;)

祝你好运。

"foreground task" 是包含当前在屏幕上可见的 Activity 的任务(即:可查看的 Activity)。

"foreground task" 还可以包含属于同一应用程序或不同应用程序的其他活动。所有这些活动,因为它们是 "covered" 的可见 Activity,所以是 "in the back stack of the foreground task".

这是一个(假设的)例子:

您启动照片查看器应用程序,选择一张照片,使用模因制作器编辑照片,然后选择 "send via Email",现在您正在电子邮件应用程序中撰写电子邮件。 "foreground task" 的返回堆栈如下所示:

PhotoViewerMainActivity->PhotoViewerPhotoActivity->MemeMakerActivity->EmailComposerActivity

当前最顶层的可查看 Activity 是 EmailComposerActivity,您可以在屏幕上看到它。其他活动包含在可见的 Activity.

任何属于 PhotoViewer 应用程序、MemeMaker 应用程序或 EmailComposer 应用程序的代码都可以根据 Activity 的规则启动 Activity =44=]问.

如果您现在按下 HOME 按钮,"foreground task" 将移至后台,其中的 Activity 将不再是 "in the back stack of the foreground task"