如何回到android上的第三个活动?

如何回到android上的第三个活动?,android,android-activity,android-intent,listactivity,activity-finish,Android,Android Activity,Android Intent,Listactivity,Activity Finish,在我的android应用程序中,我首先搜索咖啡馆。当用户选择一个咖啡馆时,下一个活动将显示有关它的更多详细信息。然后用户可以查看咖啡馆的地图。当用户单击“完成”按钮时,我需要将用户重定向到搜索结果,这是第一个活动。那我该怎么做呢?调用finish()方法将仅关闭当前活动 提前谢谢 使用此标志启动该活动Intent.flag\u activity\u CLEAR\u TOP 参考: 您可以在继续进行的每个活动中使用finish(),也可以使用此标志开始您的第一个活动flag\u activity\

在我的android应用程序中,我首先搜索咖啡馆。当用户选择一个咖啡馆时,下一个活动将显示有关它的更多详细信息。然后用户可以查看咖啡馆的地图。当用户单击“完成”按钮时,我需要将用户重定向到搜索结果,这是第一个活动。那我该怎么做呢?调用finish()方法将仅关闭当前活动


提前谢谢

使用此标志启动该活动
Intent.flag\u activity\u CLEAR\u TOP

参考:

您可以在继续进行的每个活动中使用finish(),也可以使用此标志开始您的第一个活动
flag\u activity\u CLEAR\u TOP
,它将清除您第一个活动的所有顶部活动,并将您的第一个活动置于顶部。如下使用:

Intent intent = new Intent(this, yourFirstActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
清除除第一个活动之外的所有内容,这应该可以很好地工作

根据要求,您应以以下方式启动此活动:-

 startActivity(intent);

为了让用户仍然可以返回到以前的活动B,不应使用Intent.FLAG\u activity\u CLEAR\u TOP

相反,活动B应使用startActivityForResult(…C…)
同一个活动B应使用onActivityResult()检查结果,如果在活动C中单击了“完成”,则完成。但是,如果在活动C中单击了“仅返回”,则活动B将正常显示。

请记住,一旦使用了“清除顶部”,则无法重新启动其顶部的所有活动。谢谢
//DOES NOT FINISH ALL ACTIVITY 

 Intent intent=new Intent();
 intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);


//FINISH ALL ACTIVITY WHICH IS IN STACK ABOVE TARGET ACTIVITY

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//DOES NOT FINISH ALL ACTIVITY 

 Intent intent=new Intent();
 intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);


//FINISH ALL ACTIVITY WHICH IS IN STACK ABOVE TARGET ACTIVITY

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);