活动堆栈未清除

时间:2018-10-08 11:26:55

标签: android android-fragments android-activity

我面临一个奇怪的问题

  1. 活动A被调用,并且片段A已附加到它。
  2. 方法被调用(onCreate,onStart,onResume)。

:我收到了通知,并在其中进行了活动A的标签。

  

Blockquote   (intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);   )

  1. 打开活动A后,将调用以下方法。
  2. onPause ,onCreate,onStart,onResume(片段已分离)并且比onDestroy

    当我已经调用CLEAR_TOP时,为什么要对活动的旧实例调用destroy方法。

有人可以帮助我吗?

如何检查堆栈中是否有任何实例正在挂起或如何清除所有内容? 我无法将单实例用作通知标签上的重定向到其他片段。

1 个答案:

答案 0 :(得分:3)

如果仅使用FLAG_ACTIVITY_CLEAR_TOP,则将清除所有活动实例,返回到目标对象Activity并包括,然后重新创建目标的新实例。目标Activity将被创建。

如果要重用现有实例,则需要同时指定两者 FLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_SINGLE_TOP

intent.addFlags(FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP);

这会将所有活动实例清除回(但排除目标Activity,并使用新的{{调用目标onNewIntent()上的Activity 1}}。