当我的活动堆栈是,
MainActivtiy
- > Activity1
- > Activity2
- > Activity3
我需要返回3个状态才能从MainActivtiy
Activity3
我可以关闭Activity3
之类的开放活动,
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
但是,上面的代码段会关闭所有活动,包括MainActivtiy
并启动新的MainActivtiy
。我想知道有没有其他选择来完成我需要的任务。我不想创建新的Intent,因为它删除了我在MainActivtiy
中创建的静态方法的数据。
请帮助我,提前致谢。
答案 0 :(得分:4)
您应该使用FLAG_ACTIVITY_CLEAR_TOP
来运行活动并删除其上方的所有其他活动
注意:它会触发已经运行的活动onNewIntent
,否则请在活动代码中提及launchMode = "singleTask"
,清单