在onNewIntent()回调之后重新创建活动

时间:2019-06-23 14:58:44

标签: android

我始终可以确定,当我们打开活动的新实例时,它们会在后堆栈中显示,只有以下变化(取决于bakcstack中的标志和位置):

  1. 新活动已打开(称为onCreate()),并已添加到Backstack。 Backstack中有两项活动
  2. 重新创建
  3. 活动(旧的被销毁,新的被创建,onCreate() 在新的活动中被称为)。中只有一项(新)活动 后退
  4. 活动未重新创建,但调用了onNewIntent() 在旧活动中。堆栈中只有一个(旧)活动

但是不久前,我遇到了一种情况,即活动首先获得onNewIntent()回调,然后重新创建(在新的活动实例中调用onCreate())。

现在我有点困惑。这是正常行为吗?是否有人可以解释此问题或提供指向文档描述的链接?

涉及代码:

  1. 清单活动中有android:launchMode="singleTask"
  2. 以下标志已添加到打开意图:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK)

0 个答案:

没有答案