Android 如何从活动C完成活动A

Android 如何从活动C完成活动A,android,android-activity,Android,Android Activity,我有3个活动A->B->C。 我想在创建的活动C上完成活动A。但如果在“活动B”上按下“后退”按钮,则“活动A”会出现。您可以通过以下方式实现: 步骤1:调用活动B时 Intent intent = new Intent(A, B.class); startActivity(intent); 步骤2:从B到c: Intent intent = new Intent(B, C.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK

我有3个活动A->B->C。
我想在创建的活动C上完成活动A。但如果在“活动B”上按下“后退”按钮,则“活动A”会出现。

您可以通过以下方式实现:

步骤1:调用活动B时

Intent intent = new Intent(A, B.class);
startActivity(intent);
步骤2:从B到c:

    Intent intent = new Intent(B, C.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

您可以通过以下方式实现:

步骤1:调用活动B时

Intent intent = new Intent(A, B.class);
startActivity(intent);
步骤2:从B到c:

    Intent intent = new Intent(B, C.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

也许你不应该有三项活动。如果A和B紧密耦合,因此B启动C会以某种方式影响A,则使A和B成为一个活动,而不是两个。您可以在清单中将活动A设置为noHistory=true,但当在活动总线上按下back时,应用程序将关闭此:Intent Intent Intent=new Intent(此,B.class);intent.addFlags(intent.FLAG_ACTIVITY_CLEAR_TOP | intent.FLAG_ACTIVITY_NEW_TASK);星触觉(意向);完成();要完成当前的acitivtyPerhaps,您不应该有三个活动。如果A和B紧密耦合,因此B启动C会以某种方式影响A,则使A和B成为一个活动,而不是两个。您可以在清单中将活动A设置为noHistory=true,但当在活动总线上按下back时,应用程序将关闭此:Intent Intent Intent=new Intent(此,B.class);intent.addFlags(intent.FLAG_ACTIVITY_CLEAR_TOP | intent.FLAG_ACTIVITY_NEW_TASK);星触觉(意向);完成();当我按下“后退”按钮“活动A”时,要完成当前活动C,请检查是否正确?我在创建C时添加的标志是清除活动的backbackback,因此A也会被销毁;onCreate(){if(var_name==null){var_name=this;}}//在活动C上:onCreate(){A.var_name.finish();}永远不要这样做。。你在那里使用强引用和紧耦合,因为你会遇到内存问题。。多么危险的一种方式:-)。。。顺便问一下,还有其他方法吗?在活动C上,当我按下后退按钮时,活动A出现在前面,你检查对了吗?我在创建C时添加的标志是清除活动的backbackback,因此A也会被销毁;onCreate(){if(var_name==null){var_name=this;}}//在活动C上:onCreate(){A.var_name.finish();}永远不要这样做。。你在那里使用强引用和紧耦合,因为你会遇到内存问题。。多么危险的一种方式:-)。。。顺便问一下,还有别的办法吗?