现在我有HomeActivity
- > Activity A
- > Activity B
- > Activity C
完成活动C后,我希望看到HomeActivity
。如何使用Intent Flags或任何其他建议处理此流程?
修改
但Activity A
出现后,Activity B
和Activity C
应从堆叠中删除。
Activity A
B
和C
这是一个工作流程,因此A
可以转到B
而B
可以返回{{1}编辑内容,在A
中提交后,B
和A
应该消失并显示B
作为确认
答案 0 :(得分:0)
你应该使用
如果在传递给Context.startActivity()的Intent中设置,则此标志将为 导致任何与活动相关联的现有任务 在活动开始前清除。也就是活动 成为一个空的任务的新根,和任何旧的任务 活动结束了。这只能与。一起使用 FLAG_ACTIVITY_NEW_TASK。
代码结构
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
答案 1 :(得分:0)
使用此代码
Intent intent = new Intent(ActivityC.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish(); // call this to finish the current activity
答案 2 :(得分:0)
使用启动模式可以实现此目的。 对清单文件中的活动C使用单一任务
<activity android:name=".ActivityC"
android:launchMode="singleTask">
答案 3 :(得分:0)
你应该在开始下一个活动之前杀死活动。
Intent intent = new Intent(ActivityC.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();