【问题标题】:How to remove activity from recent apps list on finish?如何在完成时从最近的应用程序列表中删除活动?
【发布时间】:2014-02-19 09:07:48
【问题描述】:

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

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

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

这可能吗?

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    使用

    android:excludeFromRecents="true"
    

    清单文件中的活动

    android:excludeFromRecents

    是否应排除此活动发起的任务 从最近使用的应用程序(“最近的应用程序”)列表中。那是, 当这个活动是一个新任务的根活动时,这个属性 确定任务是否不应该出现在最近的列表中 应用。如果该任务应从列表中排除,则设置为“true”;放 “假”,如果它应该被包括在内。默认值为“false”。

    【讨论】:

    • 要求活动的初始状态在最近的应用列表中。
    • 如果应用程序的初始状态不在最近的应用程序中,则它不工作。如何解决这个问题请帮忙
    • @ajit 不知道对不起!。事实上,我可能误读了这个问题并回答了。
    • @Raghu,我正在尝试从过去 5 天中找到此解决方案,即使我对此有问题但没有得到任何解决方案
    • @ajit 我认为这不可能。至少我不知道。
    【解决方案2】:

    对于 api > 21 你可以尝试finishAndRemoveTask() 而不是finish()

    【讨论】:

      【解决方案3】:

      是的,通常当您希望在启动 Activity 时为其具有特殊属性时,您需要为 Intent 提供特殊标志。在这种情况下FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS

      更新:

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

      source

      【讨论】:

      • 要求活动的初始状态在最近的应用列表中。
      猜你喜欢
      • 1970-01-01
      • 2014-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多