-1

我的应用程序中有多个活动。其中两个是 LoginActivity,第二个是 SettingsActivity。用户登录到设置活动并从设置活动中注销应用程序。应用程序的流程是 LoginActivity -> HomeActivity -> SettingsActivity 。用户在设置活动中从应用程序中调用注销。我在设置活动上调用完成并创建登录活动的意图。这很好用,但是当我按下登录活动的背面时,会出现家庭活动。我希望一旦 LoginActivity 出现后退按钮应该将应用程序从应用程序中取出。我怎样才能做到这一点 ?

4

3 回答 3

1

答案在于FLAG_ACTIVITY_CLEAR_TOP。您需要做的就是将标志设置为您的意图,如下所示

Intent i = new Intent(this, LoginActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();

那几乎应该做你想做的事。

于 2012-08-18T16:46:44.480 回答
1

我相信这就是您正在寻找的:

如何清除 Android Stack 的活动?

我不会太在意它实际上并没有完成()你的 LoginActivity 的事实——这实际上是一个非常正常的模式。

于 2012-08-18T16:47:00.550 回答
1

我必须使用 .FLAG_ACTIVITY_CLEAR_TASK 才能工作。我读到这在 API 版本 11 之后受支持,这些是否适用于所有以前的版本。其次,我如何使用 Manifest 文件中的这些而不是 java 代码?intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);

于 2012-08-18T17:16:03.057 回答