2015-09-06 29 views
1

在我的应用程序中有4个活动。 1- LoginOrSignupActivity(主) 2- SignupActivity 3- LoginActivity 4- MainFeedActivity应用程序流是搞砸的

问题是,当我登录,我在MainFeedActivity如果我按回,但它需要我回loginOrSignupActivity。我希望我的应用程序在MainFeedActivity内按下后退按钮时继续执行onPause状态。

流就像LoginOrSignupActivity-> LoginActivity-> MainFeedActivity

其他流动就像LoginOrSignupActivity-> SignupActivity-> MainFeedActivity

我使用该标志,但它仍然不能正常工作

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); 

回答

1

如果您先登录LoginOrSignup,然后登录LoginActivity,然后打开MainActivity,则当您继续时,您需要在传递的活动上调用finish()。否则活动将保持在后面的堆栈中。或者,您可以在清单中的活动中设置一个标志。

相关阅读:http://developer.android.com/guide/components/tasks-and-back-stack.html

对于这些情况下,您不希望用户能够回到一个活动,设置元素的finishOnTaskLaunch为“true”(请参阅​​清除栈)。

+0

我已经尝试完成();方法,但它会导致另一个问题让我给你解释一下。让我们假设如果用户登录活动,然后他想回到LoginOrSignup活动,并且他按回来,那么应用程序将关闭而不是返回。 –

+0

您是否尝试过您的意图中的CLEAR_TOP标志? – Kenneth

+0

我应该在LoginAcitivity中调用finish()。我在哪里使用意图开始主要活动?是的,我用CLEAR_TOP标志 –