2017-01-11 27 views
0

我有3个活动A-> B-> C。 我想完成对创建的活动C的活动A.但如果在活动B按下按钮活动A前面。如何完成活动A的活动C

+0

也许你不应该有三项活动。如果A和B紧密耦合,那么B开始C会以某种方式影响A,使A和B成为一个活动,而不是两个。 – CommonsWare

+0

您可以在清单中将活动A设置为noHistory = true,但当您按下后退时,您的应用程序将关闭活动B –

+0

使用此项: 意图intent = new Intent(this,B.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); finish();在活动C上完成当前活动 – AndroidBeginner

回答

0

你可以通过以下方式acheive它:

步骤一:当调用活动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); 
+0

当我按下后退按钮活动A前来 – user2782614

+0

您是否检查过它的权利?创建C时添加的标志是清除活动的后台堆栈,因此A也被破坏。 – ChaitanyaAtkuri

+0

我发现另一种方式 '/ /在活动A: public static AppCompatActivity var_name; onCreate(){ if(var_name == null) { \t var_name = this; } } //上活性C: 的onCreate(){ \t A.var_name.finish(); }' – user2782614