0

我有一个登录屏幕,成功登录后,它被带到 LandingPage,然后从 LandingPage 导航到 LastActivity。

如果我按下 LastActivity 上的后退按钮,我的导航需要我回到 LandingPage。所以我在触发 intenet 时没有使用finish()来启动 LastActivity。

单击 LastActivity 上的 logOut 按钮应该将我带到 LoginPage,它确实如此,但是如果我按下 LoginPage 上的返回按钮,它会将我带回 LandingPage。这不是理想的行为。这是我用来导航到活动的代码 -

Intent intent = new Intent(context, LoginActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    finish();
                    startActivity(intent);

我使用这个标志错了吗?

编辑 - 活动流程是 - LoginActivity -> LandingPage -> lastActivity 从上一个活动注销时,它应该转到 loginActivity。

4

1 回答 1

0

你所拥有的是这个(如果我理解正确的话):

LandingPage -> LastActivity -> LoginPage

FLAG_ACTIVITY_CLEAR_TOP如果您想返回上一个活动并清除后台堆栈的顶部,这将很有帮助。然而,你正在做的是不小心让自己回到你的后堆栈底部的一个点。

编辑:您是否尝试FLAG_ACTIVITY_CLEAR_TASK在注销时使用?这应该从堆栈中清除所有其他活动。请注意,这应该与FLAG_ACTIVITY_NEW_TASK标志一起使用。

于 2013-07-16T16:44:05.923 回答