我有这个申请流程:
Activity 1-> Activity 2-> Activity 3->首页 Activity
现在,当用户从 Activity3 切换到 Home Activity 时,我想结束所有之前的 Activity 。因此用户无法转到之前的 Activity 。
我不想使用 finish()
作为所有 3 个 Activity 的表单填写。
我试过了
Intent.FLAG_ACTIVITY_CLEAR_TOP
但是好像不行
最佳答案
正确的方法是使用 Intent 标志 FLAG_ACTIVITY_NEW_TASK 和 FLAG_ACTIVITY_CLEAR_TASK。
Intent homeIntent=new Intent(this,HomeActivity.class);
homeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
homeIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(homeIntent);
CLEAR_TASK 将清除任务中所有以前的 Activity (如果有的话)并使新 Activity (HomeActivity)成为任务的根 Activity 。此标志应与 FLAG_ACTIVITY_NEW_TASK 结合使用。
Intent.FLAG_ACTIVITY_CLEAR_TOP 应在以下情况下使用,如果您在 ActivityHome(正常启动,没有任何标志)并且想要返回 activity_1 并且还想关闭 activity_2 和 activity_3 以从任务中清除。
关于android - 完成之前的 Activity ,机器人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22476505/