这里很奇怪。
我最初有一个活动是启动活动(活动 A)。android:launchMode="singleTask"
它有与之关联的标签。没问题。我的要求发生了变化,现在我将 Activity B 设为启动活动。我复制了意图过滤器,将名称更改为“.ActivityB”,并将启动模式标签也移了过来。
它似乎工作正常;当我启动应用程序时,我转到 Activity B。但是,当我从 Activity B 转到 Activity A 然后单击后退按钮时,应用程序退出并且不会重新打开(如果我没有启动模式标签,它将重新打开。 )
另一个例子。如果我从活动 A 到活动 B 到活动 A 到活动 B 一切都很好。当我单击返回时,我转到 Activity A(如预期的那样)但是当我再次单击返回时,我转到 Activity A 的前一个实例(哦哦),然后我再次单击返回并退出应用程序。两次都跳过活动 B。
我显然忽略了一些东西,但我不知道是什么。在切换启动活动之前,我没有覆盖任何后退按钮功能,并且一切正常。
编辑 以下是我的清单在任何更改之前的摘录
<activity android:name=".ActivityA" android:windowSoftInputMode="stateHidden" android:label="@string/app_name" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="ActivityB"></activity>
这是更改后的摘录
<activity android:name=".ActivityB" android:windowSoftInputMode="stateHidden" android:label="@string/app_name" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="ActivityA"></activity>