这是一个有点复杂的故事:
我有一个 Activity A
。
Activity A
使用 intent 打开浏览器进行一些身份验证。
完成后,网页将重定向到一个 URL。 Activity B
设置了可浏览的 Intent 过滤器,URL 使浏览器启动 Activity B
而不是打开网页。
Activity B
因此是开放的,但作为 Chrome 的“子项”。在最近的应用程序窗口中,我可以看到我原来的 Activity A,然后我可以在 Chrome 下看到 Activity B
。
我在 Activity B 中启动的任何 Activity 似乎都是 Chrome 的子项。我已经尝试使用 Intent 标志 FLAG_ACTIVITY_NEW_TASK
但这似乎并没有改变任何东西。
我想从 Activity B 启动一个 Activity,它没有出现在 Chrome 下,而是在它自己的新任务下。理想情况下,我想回到 Activity A
所在的任务,但如果这不可能,那么一个新任务就足够了。
最佳答案
我意识到这可以通过使用这里描述的 singleTask 启动模式来完成:http://www.intridea.com/blog/2011/6/16/android-understanding-activity-launchmode
本质上,我将 A 和 B 合并为一个 Activity ,并将其设置为单个任务。当 Chrome 重定向到它时,它会返回到原始任务,而不是创建一个新任务作为其子任务。
关于java - 在不同的任务中启动一个新的 Android Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17546115/