是否有可能在其子活动完成(被“后退”键销毁)后重新创建而不是继续进行父活动。
以下是一个问题: 我在活动A(父级)和B(子级)中使用CameraX。 当我从活动B返回到A时,我尝试绑定CameraX,但它发生在B被完全破坏且相机无法启动之前。 我试图找出B被销毁的那一刻,但是却没有找到任何东西。
答案 0 :(得分:1)
您可以通过在意图上附加FLAG_ACTIVITY_NEW_TASK
和FLAG_ACTIVITY_CLEAR_TOP
标志来清除这两个活动的后退堆栈。
假定原始活动为Activity1
,第二个活动为Activit2
。
然后,只要您想启动Activity1
,Activity2
处的代码将为:
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()
@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();
}