Android 关闭特定活动

Android 关闭特定活动,android,android-activity,Android,Android Activity,只是,如何关闭应用程序的特定活动 例如,我有以下活动: A1>B1>C1 在C1中,我可以使用新的参数再次进入一个活动,所以当我打开一个新的B(B2)时,我想关闭旧的活动:A1,B1,C1 作为新的结果: A2>B2 在那里,我可以在B2结束后返回A2,并从A2完成应用程序。这应该适用于您: Intent i = new Intent(C.this, A.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVIT

只是,如何关闭应用程序的特定活动

例如,我有以下活动:

A1>B1>C1

在C1中,我可以使用新的参数再次进入一个活动,所以当我打开一个新的B(B2)时,我想关闭旧的活动:A1,B1,C1

作为新的结果:

A2>B2


在那里,我可以在B2结束后返回A2,并从A2完成应用程序。

这应该适用于您:

Intent i = new Intent(C.this, A.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i); 
FLAG\u ACTIVITY\u CLEAR\u TOP
将清除堆栈中的所有其他
活动<代码>标记\活动\清除\任务

此标志将导致在活动启动之前清除与该活动关联的任何现有任务


注意如@Dalmas
所述,标记活动清除任务
仅适用于API>=11

这应该适用于您:

Intent i = new Intent(C.this, A.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i); 
FLAG\u ACTIVITY\u CLEAR\u TOP
将清除堆栈中的所有其他
活动<代码>标记\活动\清除\任务

此标志将导致在活动启动之前清除与该活动关联的任何现有任务


注意如@Dalmas
标记活动\u清除任务所述
仅适用于API>=11

您有两种方法:


您可以使用活动声明,例如。或者,您可以使用在活动之间传递数据。然后只需调用
finish()

有两种方法可以做到这一点:


您可以使用活动声明,例如。或者,您可以使用在活动之间传递数据。然后只需调用
finish()

您必须在启动新活动后立即在现有活动中调用finish方法。您处理此问题的方法错误。查找android
launchMode
。您必须在启动新活动后立即在现有活动中调用finish方法。您处理此问题的方法是错误的。查找android
launchMode
。注意
FLAG\u ACTIVITY\u CLEAR\u TASK
仅适用于API>=11。这不起作用,Intent.FLAG\u ACTIVITY\u CLEAR\u TOP仅关闭A2,我正在为API 8开发,所以我将尝试其他方法。无论如何谢谢你!请注意,
FLAG\u ACTIVITY\u CLEAR\u TASK
仅适用于API>=11。这不起作用,Intent.FLAG\u ACTIVITY\u CLEAR\u TOP仅关闭A2,我正在为API 8开发,因此我将尝试其他方法。无论如何谢谢你!是的,我考虑过了,我正在检查其他解决方案,谢谢。我考虑过了,我正在检查其他解决方案,谢谢