java - 在不同的任务中启动一个新的 Android Activity

标签 java android android-intent

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

我有一个 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/

相关文章:

java - Android api 29 如何在安装时自动在主屏幕上添加应用程序图标?

java - 圆图的数据结构与算法

java - 无法使用 Recycler view android 加载更多数据分页

java - 从 ArrayList<List> 每 X 秒更新一次 JLabel - Java

java - 显示位图图像 (ImageView)

android - 选择通知时的 startActivityForResult()

android-intent - Android SMS传递意图始终返回-1

android - 检测蓝牙 'call' 按钮按下

Java 8 将 BiFunction 应用于两个不同对象的列表

java - 为什么 Hibernate 默认不设置 @DynamicInsert