Android 如何重用堆栈顶部的活动

Android 如何重用堆栈顶部的活动,android,Android,我的应用程序有一个名为“Main”的单一输入活动。在“主要”中,我称之为三者之一 其他活动A、B或C(基于偏好),然后立即退出/完成 “Main”使只有A、B或C处于活动状态 我在通知栏中还有一个永久通知 用户可以(随时)下拉以方便地重新启动我的应用程序(调用) 带有“主”组件) 问题是,如果我的应用程序已经运行,并且用户拉下了通知 然后重新启动,我会在前一个活动(也就是A、B或C)的基础上运行A、B或C B、 或C)。如何避免这种情况(即重用堆栈顶部的活动) 我试过意图。标记活动,但似乎没有任

我的应用程序有一个名为“Main”的单一输入活动。在“主要”中,我称之为三者之一 其他活动A、B或C(基于偏好),然后立即退出/完成 “Main”使只有A、B或C处于活动状态

我在通知栏中还有一个永久通知 用户可以(随时)下拉以方便地重新启动我的应用程序(调用) 带有“主”组件)

问题是,如果我的应用程序已经运行,并且用户拉下了通知 然后重新启动,我会在前一个活动(也就是A、B或C)的基础上运行A、B或C B、 或C)。如何避免这种情况(即重用堆栈顶部的活动)

我试过意图。标记活动,但似乎没有任何效果。我尝试了启动模式

在舱单上,它似乎也不起作用。有什么想法吗?感谢您的帮助……jh

我找到了一种方法,可以满足我的需求(尽管我还在测试它)

在Android清单中,对于活动A、B和C,我添加了以下行:

android:launchMode=“singleTask”

这导致了重用活动A、B或C(如果它们已经在 堆栈的顶部,这样它们就不会在自己的顶部重新启动(这
需要按两次后退按钮才能退出任务。)

我发现从通知启动活动时,这很有用,因为堆栈最终会有两个或多个(每个通知一个)相同活动的实例。与onNewIntent结合使用,可以使用新内容更新现有活动(通过意向附加)