3

这是一个有点复杂的故事:

我有一个Activity A.
Activity A使用意图打开浏览器进行一些身份验证。
完成后,网页将重定向到 URL。Activity B使用意图过滤器设置为 BROWSABLE,并且 URL 使浏览器启动Activity B而不是打开网页。

Activity B因此是开放的,但作为 Chrome 的“孩子”。在最近的应用程序窗口中,我可以看到我原来的 Activity A,然后我可以Activity B在 Chrome 下看到。

我在 Activity B 中启动的任何 Activity 似乎都是 Chrome 的子进程。我曾尝试使用意图标志FLAG_ACTIVITY_NEW_TASK,但这似乎并没有改变任何东西。

我想从 Activity B 启动一个 Activity,它不会出现在 Chrome 下,而是在它自己的新任务下。理想情况下,我想回到其中的任务Activity A,但如果这不可能,一个新的就足够了。

4

1 回答 1

2

我已经意识到这可以通过使用这里描述的 singleTask 启动模式来完成:http: //www.intridea.com/blog/2011/6/16/android-understanding-activity-launchmode

本质上,我将 A 和 B 组合成一个活动,并将其设置为单个任务。当 Chrome 重定向到它时,它会返回到原始任务,而不是创建一个新任务作为其子任务。

于 2013-07-09T22:57:51.663 回答