gpt4 book ai didi

android - 使用 MapActivity 时奇怪的 Activity 堆栈行为

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

我的应用程序中有以下 Activity 结构

一个简单的“闪屏” Activity 在应用程序启动时启动(我们称之为“闪屏”)。当用户按下按钮(我将其称为“Main”)时,此 Activity 将启动主要 Activity 。

Main 可以依次从菜单启动两个 Activity 。第一个 Activity 呈现一个简单的表单(我们称其为“表单”),第二个 Activity 是呈现 map 的 MapActivity(称为“ map ”)。

Main、Form 和 Map 在 list 中的声明完全相同:

<activity android:name="fully qualified activity class"
android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|orientation"
>
<intent-filter>
<action android:name="android.intent.action.DEFAULT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

当 Main 处于 Activity 状态并且我启动 Form 并按“返回”时,Main 再次出现。再次按“后退”会出现“Splash”。这里没有什么奇怪的。

现在出现了奇怪的部分:当我在 Main 中时,启动 Map,然后按“返回”,Main 按预期出现。但是再次按下“后退”只会重新启动 Main。需要再按一次“后退”才能返回 Splash!

所以似乎启动 Map Activity 会以某种方式导致 Main 在 Activity 堆栈中结束两次,而启动 Form Activity 则不会!

Form和Map都是这样启动的:

startActivity(new Intent(this, MyActivity.class));

我在任何 Activity 中都没有捕捉到返回键。

关于正在发生的事情或如何调试它的任何线索?

最佳答案

我想我以前在我的一个项目中见过这种行为。尝试在 list 文件中将启动器 Activity (在您的情况下为 Splash)的 launchMode 属性设置为 - android:launchMode="singleTask"。

这应该有助于澄清:http://developer.android.com/guide/topics/fundamentals.html#acttask

关于android - 使用 MapActivity 时奇怪的 Activity 堆栈行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2698179/

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