activity stack not preserved (12 个回答) 2年前-6ren">
gpt4 book ai didi

android - 为什么即使另一个 Activity 在顶部,launchMode ="singleTask"的启动器 Activity 总是被推到后台堆栈的顶部?

转载 作者:行者123 更新时间:2023-12-03 16:49:16 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Android: bug in launchMode="singleTask"? -> activity stack not preserved

(12 个回答)


2年前关闭。




由于某些要求,我的启动器 Activity 将 launchMode 属性设置为 singleTask。

<activity
android:name=".map.MapsActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/MapScreenTheme"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

我面临的问题是,如果我打开另一个 Activity -> 按主页-> 单击启动器应用程序中的应用程序图标-> 它会打开 MapActivity 而不是以前打开的 Activity 。

但是,如果我通过最近菜单导航到应用程序,则不会发生这种情况。然后新打开的 Activity 保持在顶部。

有人可以解释一下这里发生的关于后台堆栈的事情吗?为什么 ActivityManagerService 没有考虑到应用程序进程已经存在,却决定启动启动器应用程序并清除后台堆栈,而不是简单地将应用程序向前推进?

可以在此处创建的一个小示例应用程序中观察到此问题 -
https://github.com/abhiank/SingleTaskActivity

最佳答案

我认为这是 SingleTask 的期望行为发射模式。将启动器 Activity 保持为 SingleTask有其后果。

我想不出这个问题的确切解决方案,但一些解决方法可以解决这个问题。

添加下面我在评论中提到的链接以通过。

Android: bug in launchMode="singleTask"? -> activity stack not preserved

关于android - 为什么即使另一个 Activity 在顶部,launchMode ="singleTask"的启动器 Activity 总是被推到后台堆栈的顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61117733/

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