考虑一下:
活动B
活动C
单击启动器图标时启动活动A.活动B由活动A启动 - 没什么特别的。但是,活动C应仅由应用程序本身启动(不是点击或类似的东西),如广播。
问题:
当活动C由app自动启动时,当我按下此活动上的HOME按钮时,当我点击lanuncher图标(显示主要活动 - A)时,它会显示我的活动C.如果我按下BACK按钮在这个活动上,我可以去活动A,没有问题。
如何解决这个问题?杀死活动C,在HOME按钮按下,或者是其他一些方法吗?
答案 0 :(得分:5)
在您的活动A的清单中,放置android:launchMode="singleTask" android:clearTaskOnLaunch="true"
并在其他活动中放置android:clearTaskOnLaunch="false"
,这将解决您的问题。希望这会对你有所帮助。
答案 1 :(得分:2)
只需在AndroidManifest.xml中将android:noHistory="true"
添加到活动C的<activity>
元素。
为android:noHistory设置true
会使活动不会留下历史痕迹。它不会保留在任务的活动堆栈中,因此用户将无法返回该任务。