Backstack - 如果活动是某种类型的东西,则弹出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Backstack - 如果活动是某种类型的东西,则弹出相关的知识,希望对你有一定的参考价值。

我有情况,我总是需要在启动时重新创建活动,所以我不能使用Intent.FLAG_ACTIVITY_SINGLE_TOP

如果它是相同的活动,有没有办法调查后面的堆栈并弹出最后一个?

我通过使用Intent.FLAG_ACTIVITY_SINGLE_TOP和重写onNewIntent方法找到了一种方法。

@Override
  protected void onNewIntent(Intent intent) {
      finish();
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      startActivity(intent);
  }

这有效,但我想知道是否有更好的方法来实现这一目标。

答案

您正在寻找的是FLAG_ACTIVITY_CLEAR_TOP为您的目的。阅读更多关于它here

以上是关于Backstack - 如果活动是某种类型的东西,则弹出的主要内容,如果未能解决你的问题,请参考以下文章

BackStack 没有导航到正确的 Fragment

以编程方式返回到 backstack 中的上一个片段

将 backstack 与 ViewPager 一起使用

活动和片段之间有啥区别?

android-clearing backstack 生成 NullPointerException

在 Fragment 中管理 BackStack 的最佳方法是啥 [重复]