gpt4 book ai didi

Android Activity 返回堆栈和多任务支持

转载 作者:行者123 更新时间:2023-11-29 02:07:51 26 4
gpt4 key购买 nike

我有一个支持多任务处理(在后台工作)的应用程序,但是我遇到了 android backstack 的问题。

这是我的:

Activity A 为结果启动 Activity B,所以...

Activity A --> Activity B

如果在 Activity B 中,用户长按 home 按钮并切换到另一个应用程序(例如浏览器),然后再次长按 home 按钮,然后回到我的应用程序,他们将在 Activity B,但是此时的返回堆栈将如下所示:

Activity A --> 互联网浏览器 --> Activity B

所以当我执行 finish() 从我的 Activity B 发回结果时,它不会返回到我的 Activity A,而是返回到 Internet 浏览器...

如果用户没有长按 home 按钮,而是使用 home 按钮返回到他们的启动器,然后使用长按 home 按钮返回我的应用程序。在这种情况下,返回堆栈更糟:

主页启动器 --> Activity B

因此,当我在 Activity B 上执行 finish() 时,用户会返回到他们的主屏幕并且他们永远无法返回到 Activity A,除非他们从他们的位置重新启动应用程序应用抽屉。

在这种情况下,有什么办法可以实现多任务处理吗?无论用户在这两者之间打开了什么,Activity B 都需要始终向 Activity A 返回结果。

最佳答案

好的。经过长时间的研究和尝试各种事情,这里是问题的解决方案。希望这对其他人有帮助...

AndroidManifest.xml 中的解决方案非常简单明了

为 Activity A 设置 android:launchMode="singleTask"

为 Activity B 设置 android:noHistory="true"

这样,如果我们转到另一个应用程序(如浏览器)或退出到主屏幕,Activity B 将从堆栈中删除,因此当我们返回我们的应用程序时,我们将返回到 Activity A。

关于Android Activity 返回堆栈和多任务支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9011254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com