完成之前的所有活动

完成之前的所有活动

我的应用程序有以下流程屏幕:

Home->screen 1->screen 2->screen 3->screen 4->screen 5

现在我log out 在每个屏幕上都有一个公共按钮

Home/ screen 1 / screen 2 /screen 3/ screen 4 / screen 5

我希望当用户点击退出按钮(从任何屏幕)时,所有屏幕都将完成,并且Log in将打开一个新屏幕。

我几乎尝试过所有FLAG_ACTIVITY这一切。我还在stackoverflow中查看了一些答案,但无法解决问题。我的应用程序是在Android 1.6上,因此无法使用FLAG_ACTIVITY_CLEAR_TASK

有什么方法可以解决这个问题吗?


犯罪嫌疑人X
浏览 386回答 3
3回答

喵喔喔

使用:Intent intent = new Intent(getApplicationContext(), Home.class);intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(intent);这将清除所有家庭活动。假设您在用户登录并创建主页时完成登录屏幕,之后所有屏幕都在1到5之上。我发布的代码将返回主屏幕完成所有其他活动。您可以在意图中添加额外内容并在主屏幕活动中读取并完成它(也许可以从那里再次启动登录屏幕或其他内容)。我不确定,但您也可以尝试使用此标志登录。我不知道在这种情况下如何订购活动。因此,不知道它是否会清除您所在的屏幕下面的那些,包括您当前所在的屏幕,但它绝对是要走的路。希望这可以帮助。

慕姐8265434

你可以试试Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK。它将完全清除所有先前的活动并开始新的活动。

尚方宝剑之说

在启动新Activity之前,只需添加以下代码:finishAffinity();或者,如果您希望它在以前版本的Android中运行:ActivityCompat.finishAffinity(this);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Android