为了账号安全,请及时绑定邮箱和手机立即绑定

完成之前的所有活动

完成之前的所有活动

犯罪嫌疑人X 2019-08-09 14:21:17
完成之前的所有活动我的应用程序有以下流程屏幕: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之上。我发布的代码将返回主屏幕完成所有其他活动。您可以在意图中添加额外内容并在主屏幕活动中读取并完成它(也许可以从那里再次启动登录屏幕或其他内容)。

我不确定,但您也可以尝试使用此标志登录。我不知道在这种情况下如何订购活动。因此,不知道它是否会清除您所在的屏幕下面的那些,包括您当前所在的屏幕,但它绝对是要走的路。

希望这可以帮助。


查看完整回答
反对 回复 2019-08-09
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

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


查看完整回答
反对 回复 2019-08-09
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

在启动新Activity之前,只需添加以下代码:

finishAffinity();

或者,如果您希望它在以前版本的Android中运行:

ActivityCompat.finishAffinity(this);


查看完整回答
反对 回复 2019-08-09
  • 3 回答
  • 0 关注
  • 378 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信