每当我从主屏幕重新启动应用程序时,它会启动清单中指定的启动器活动,但当我按下后退按钮时,应用程序会导航到之前通过按下主页按钮最小化的活动:
主页 - > A - > B - > home - > A - >回来 - >乙
相反,我希望应用程序在按下后退按钮后应关闭活动A.提及的活动在清单文件中指定如下:
<activity android:name="A"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:noHistory="true"
<intent-filter>
<action android:name="android:intent.action.MAIN"/>
<category android:name="android:intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name="B"
android:launchMode="singleTop"
</activity>
每当启动活动B时,我都需要清除活动A的历史记录。这看起来像clearTaskOnLaunch =&#34; true&#34;不适用于noHistory =&#34; true&#34;或者在活动A上手动调用finish()时。另外当noHistory =&#34; true&#34;或者指定/调用finish()然后必须有launchMode =&#34; singleTask&#34;在活动A的清单中,否则活动B将从主屏幕而不是活动A启动。
如果启动活动A,我如何清除活动B?添加finishOnTaskLaunch =&#34; true&#34;清单中的活动B没有帮助。两个活动都有默认关联。编译sdk版本是26。