完成之前的所有活动我的应用程序有以下流程屏幕: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有什么方法可以解决这个问题吗?
3 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
使用:
Intent intent = new Intent(getApplicationContext(), Home.class);intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(intent);
这将清除所有家庭活动。
假设您在用户登录并创建主页时完成登录屏幕,之后所有屏幕都在1到5之上。我发布的代码将返回主屏幕完成所有其他活动。您可以在意图中添加额外内容并在主屏幕活动中读取并完成它(也许可以从那里再次启动登录屏幕或其他内容)。
我不确定,但您也可以尝试使用此标志登录。我不知道在这种情况下如何订购活动。因此,不知道它是否会清除您所在的屏幕下面的那些,包括您当前所在的屏幕,但它绝对是要走的路。
希望这可以帮助。
慕姐8265434
TA贡献1813条经验 获得超2个赞
你可以试试Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK
。它将完全清除所有先前的活动并开始新的活动。
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
在启动新Activity之前,只需添加以下代码:
finishAffinity();
或者,如果您希望它在以前版本的Android中运行:
ActivityCompat.finishAffinity(this);
添加回答
举报
0/150
提交
取消