[英]How to remove activity from recent apps list on finish?
我正在从服务启动活动,并希望它出现在最近的应用列表中。
但是,如果我退出应用程序,我希望从最近的应用程序列表中删除活动(例如,按活动的UI上的按钮调用finish())。
使用android:excludeFromRecents="true"
从最近的应用列表中排除活动并不能提供我所需的初始活动行为,即最近的应用列表中显示的活动。
这可能吗?
使用
android:excludeFromRecents="true"
清单文件中的活动
android:excludeFromRecents
是否应从最近使用的应用程序列表(“最近的应用程序”)中排除此活动启动的任务。 也就是说,当此活动是新任务的根活动时,此属性确定该任务是否不应出现在最近的应用列表中。 如果任务应从列表中排除,则设置为“true”; 如果应该包含它,则设置“false”。 默认值为“false”。
对于api> 21你可以尝试finishAndRemoveTask()
而不是finish()
是的,通常当您想要在启动时为Activity提供特殊属性时,您需要为Intent提供特殊标志。 在这种情况下, FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
。
更新:
如果您需要隐藏当前已在运行的活动,您可以将此标志与FLAG_ACTIVITY_CLEAR_TOP结合使用,这将把新Intent发送到现有的Activity。 您将不得不考虑并尝试使用用户在堆栈中移动时会发生什么,以及是否会使您的应用重新出现在最近的应用中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.