【发布时间】:2021-05-01 12:37:05
【问题描述】:
我的 Android 应用程序中有 2 个活动 - 活动 A 和活动 B。
当用户按下 Activity A 上的按钮时,他会被导航到 Activity B。
我希望活动 A 在进入下一个活动后关闭,并从活动堆栈中完全删除。
我尝试添加 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); ,但这不起作用,因为按下后退按钮后仍然可以访问 Activity A。
我添加了finishAffinity();,这很有效,但是在转换时,活动堆栈中的前一个活动变得可见,然后它转到活动 B。
视频 (此处显示应用程序抽屉,然后转到 Activity B)-
代码 -
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(MainActivity.this);
Intent i = new Intent(MainActivity.this, MainActivity2.class);
startActivity(i, options.toBundle());
finishAffinity();
是否有任何修复,使之前的活动不可见并且活动也关闭?
编辑:我尝试了finish()、finishAfterTransition() 和supportFinishAfterTransition() 而不是finishAffinity(),但仍然可以看到前一个屏幕。
所以我猜finishAfterTransition()有问题
【问题讨论】:
标签: java android android-studio android-layout