如何在结束时从最近应用列表中移除活动?

17

我正在从一个服务启动一个活动,并希望它出现在最近使用的应用列表中。

然而,如果我退出应用程序(例如,按下活动UI上的按钮调用finish()),我希望将该活动从最近使用的应用列表中删除。

使用android:excludeFromRecents="true"排除活动不会给我所需的初始活动行为,即在最近使用的应用列表中显示活动。

这是否可能?

3个回答

17

使用

android:excludeFromRecents="true"

用于清单文件中的活动

android:excludeFromRecents

该活动启动的任务是否应该从最近使用的应用程序列表("最近应用程序")中排除。也就是说,当该活动是新任务的根活动时,此属性决定该任务是否不应出现在最近的应用程序列表中。如果要将任务从列表中排除,请设置为“true”;如果要包含在内,请设置为“false”。默认值为“false”。


3
要求活动的初始状态必须在最近使用应用程序列表中。 - PJL
1
如果应用程序的初始状态不在最近使用的应用程序中,则无法正常工作。如何解决这个问题,请帮忙。 - Ajit Kumar Dubey
@Raghu,我已经尝试了5天找到这个解决方案,甚至发布了相关问题,但是没有得到任何解决方案。 - Ajit Kumar Dubey
请勿在新活动完成后在“最近使用的应用程序”列表中显示应用程序? - Ajit Kumar Dubey
@Raghunandan,看一下这个问题,希望你能提供一些其他的想法。问题是当应用程序不在后台时,来电在断开通话后出现,它不应该出现在最近使用的应用程序中。 - Ajit Kumar Dubey
显示剩余3条评论

9

对于API > 21,您可以尝试使用finishAndRemoveTask()而不是finish()


0

是的,通常当您想要在启动活动时拥有特殊属性时,您会向 Intent 提供特殊标志。在这种情况下,使用 FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS

更新:

如果您需要隐藏当前已运行的活动,则可以将此标志与 FLAG_ACTIVITY_CLEAR_TOP 结合使用,这将将新 Intent 发送到现有活动中。但是,您必须考虑并可能尝试用户在堆栈中移动时发生的情况,以及是否会使您的应用程序重新出现在最近的应用程序中。

source


1
要求活动的初始状态在最近使用的应用程序列表中。 - PJL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接