创建父活动而不是在子活动完成后继续

时间:2020-06-02 01:52:37

标签: android

是否有可能在其子活动完成(被“后退”键销毁)后重新创建而不是继续进行父活动。

以下是一个问题: 我在活动A(父级)和B(子级)中使用CameraX。 当我从活动B返回到A时,我尝试绑定CameraX,但它发生在B被完全破坏且相机无法启动之前。 我试图找出B被销毁的那一刻,但是却没有找到任何东西。

1 个答案:

答案 0 :(得分:1)

您可以通过在意图上附加FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TOP标志来清除这两个活动的后退堆栈。

假定原始活动为Activity1,第二个活动为Activit2

然后,只要您想启动Activity1Activity2处的代码将为:

Intent intent = new Intent(Activity1.this, Activity2.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent);
finish();

当您在Activity2上按返回按钮时,请通过覆盖onBackPrssed()

重新开始Activity1
@Override
public void onBackPressed() {
    Intent intent = new Intent(Activity2.this, Activity1.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    finish();
}
相关问题