如果活动当前不在后台堆栈的顶部(即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
的优先级,以便在当前活动位于顶部时不会创建新活动?
感谢。
答案 0 :(得分:0)
对于任何想知道的人,可以在活动标记内的清单中简单地定义FLAG_ACTIVITY_SINGLE_TOP的等价物:
android:launchMode="singleTop"