安卓:将一个活动插入到活动栈

7
这里是问题:假设活动堆栈包含A->B->C。
如果用户按顺序进入(例如:开始A->B->C),按返回按钮将导致C->B->A。但是,如果用户直接进入活动C(例如:通过通知),按返回按钮将导致应用程序关闭,而不是进入B->A。
如何将其插入到活动堆栈中以成为A->B->C,以便当用户在C处按下返回时,它总是返回到B。
谢谢
1个回答

1

只需重写onBackPressed()方法,在Activity C中启动Activity B,并在Activity B中启动Activity A。

在Activity C中加入以下代码:

public void onBackPressed(){
startActivity(new Intent(this,ActivityB.class));
finish();
}

而在活动b中有以下代码:

public void onBackPressed(){
startActivity(new Intent(this,ActivityA.class));
finish();
}

在Activity A中有以下代码:

public void onBackPressed(){
finish();
}

这会破坏Android活动堆栈顺序吗?它应该完成当前活动并返回到上一个活动,而不是启动另一个新活动。 - Bananakilo
这是一个不错的解决方案。为了获得更好的性能,最好使用片段而不是活动。 - Sripathi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接