当我退出并再次运行应用程序时如何启动特殊活动?

时间:2014-05-06 06:22:51

标签: android

在我的申请中,我有"校长"因此,当我从任何其他活动退出应用程序并再次运行它时,将启动最后一个活动而不是我的主体活动。 那么如何推出"校长"每次退出并从任何其他活动运行应用程序时的活动?

我现在拥有的:A是我的主要活动,B和C是其他活动: A => B => C =>出口 当我退出应用程序并再次运行时,C启动而不是A.

1 个答案:

答案 0 :(得分:0)

当您离开主要活动并转移到任何其他活动时,您可以设置此标记 FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET表示您用于启动新活动的意图。 这将清除在主要活动之后启动的任何活动,以防用户退出应用程序(主要使用主页按钮)。

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET

这方面的一个例子是:

从主体活动中启动任何活动时,您可以执行以下操作:

Intent i = new Intent(getBaseContext(), SecondaryActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
startActivity(i);

启动主体活动时,您可以使用FLAG_ACTIVITY_RESET_TASK_IF_NEEDED,以便您的主要活动位于其任务堆栈之上。

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

启动主要活动时,您可以执行以下操作:

Intent i = new Intent(getBaseContext(), PrincipalActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
startActivity(i);

这样,如果您从主要活动以外的任何其他活动退出应用程序,则无需担心。

如果您有任何问题,请告诉我。如果您的主要活动是您的申请的入口点,我相信您不必使用第二个标志FLAG_ACTIVITY_RESET_TASK_IF_NEEDED。但是我没有测试过它。