我面临一个奇怪的问题
:我收到了通知,并在其中进行了活动A的标签。
Blockquote (intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); )
( onPause ,onCreate,onStart,onResume(片段已分离)并且比onDestroy
当我已经调用CLEAR_TOP时,为什么要对活动的旧实例调用destroy方法。
有人可以帮助我吗?
如何检查堆栈中是否有任何实例正在挂起或如何清除所有内容? 我无法将单实例用作通知标签上的重定向到其他片段。
答案 0 :(得分:3)
如果仅使用FLAG_ACTIVITY_CLEAR_TOP
,则将清除所有活动实例,返回到目标对象Activity
的并包括,然后重新创建目标的新实例。目标Activity
将被创建。
如果要重用现有实例,则需要同时指定两者 FLAG_ACTIVITY_CLEAR_TOP
和FLAG_ACTIVITY_SINGLE_TOP
:
intent.addFlags(FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP);
这会将所有活动实例清除回(但排除目标Activity
,并使用新的{{调用目标onNewIntent()
上的Activity
1}}。