活动及其生命周期

时间:2013-04-20 09:57:44

标签: java android android-activity lifecycle

考虑一下:

  • 活动A
  • 活动B

  • 活动C

单击启动器图标时启动活动A.活动B由活动A启动 - 没什么特别的。但是,活动C应仅由应用程序本身启动(不是点击或类似的东西),如广播。

问题:

当活动C由app自动启动时,当我按下此活动上的HOME按钮时,当我点击lanuncher图标(显示主要活动 - A)时,它会显示我的活动C.如果我按下BACK按钮在这个活动上,我可以去活动A,没有问题。

如何解决这个问题?杀死活动C,在HOME按钮按下,或者是其他一些方法吗?

2 个答案:

答案 0 :(得分:5)

在您的活动A的清单中,放置android:launchMode="singleTask" android:clearTaskOnLaunch="true"并在其他活动中放置android:clearTaskOnLaunch="false",这将解决您的问题。希望这会对你有所帮助。

答案 1 :(得分:2)

只需在AndroidManifest.xml中将android:noHistory="true"添加到活动C的<activity>元素。

android:noHistory设置true会使活动不会留下历史痕迹。它不会保留在任务的活动堆栈中,因此用户将无法返回该任务。