优先考虑Intent标志FLAG_ACTIVITY_SINGLE_TOP

时间:2015-10-28 19:03:09

标签: android android-intent flags back-stack

如果活动当前不在后台堆栈的顶部(即FLAG_ACTIVITY_SINGLE_TOP实现了什么),我有一个想要启动活动的意图。但是,如果活动不在堆栈顶部,我想清除堆栈并在顶部创建具有给定活动的新历史记录。

intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);

现在,问题在于它总是清除后台堆栈并将活动置于顶部,从而生成新活动。实际上FLAG_ACTIVITY_SINGLE_TOP没有做任何事情。是否有一种干净的方法来确定FLAG_ACTIVITY_SINGLE_TOP的优先级,以便在当前活动位于顶部时不会创建新活动?

感谢。

1 个答案:

答案 0 :(得分:0)

对于任何想知道的人,可以在活动标记内的清单中简单地定义FLAG_ACTIVITY_SINGLE_TOP的等价物:

android:launchMode="singleTop"