在我的申请中,我有"校长"因此,当我从任何其他活动退出应用程序并再次运行它时,将启动最后一个活动而不是我的主体活动。 那么如何推出"校长"每次退出并从任何其他活动运行应用程序时的活动?
我现在拥有的:A是我的主要活动,B和C是其他活动: A => B => C =>出口 当我退出应用程序并再次运行时,C启动而不是A.
答案 0 :(得分:0)
当您离开主要活动并转移到任何其他活动时,您可以设置此标记
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
,以便您的主要活动位于其任务堆栈之上。
启动主要活动时,您可以执行以下操作:
Intent i = new Intent(getBaseContext(), PrincipalActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
startActivity(i);
这样,如果您从主要活动以外的任何其他活动退出应用程序,则无需担心。
如果您有任何问题,请告诉我。如果您的主要活动是您的申请的入口点,我相信您不必使用第二个标志FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
。但是我没有测试过它。