【问题标题】:Android - How to remove activity from recent apps? [duplicate]Android - 如何从最近的应用程序中删除活动? [复制]
【发布时间】:2013-01-25 14:00:49
【问题描述】:

我在我的 android 应用上创建了一个自定义对话框。此对话框是具有对话框主题的活动。现在,假设应用程序正在显示此对话框,用户按“主页”返回 Android 主页视图。稍后,用户按住按钮Home 然后从最近的应用程序中选择我的应用程序。它将再次显示对话框。 我想在这里做的是对话框不应该显示。我想显示调用此对话框的活动。

我该怎么做?

【问题讨论】:

  • 这个问题可能会问同样的问题,但我发现它简短、简单且切中要害。我遇到了同样的问题,重复的问题太长了,难以阅读和混淆。

标签: android


【解决方案1】:

如何从最近的应用程序中删除活动?

我认为android:excludeFromRecents="true" 应该可以解决问题。在清单中使用它


我想在这里做的是对话框不应该显示。

dialog.cancel() in onPause()

【讨论】:

  • 太棒了!你拯救了我的假期)
  • 像魅力一样工作。但请记住,当 Activity 处于活动状态(已启动)时,它仍会显示在最近的应用中。
【解决方案2】:

您也可以使用标志 Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS:

.....
i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(i);

您开始的活动不会出现在最近的应用中。

【讨论】:

    【解决方案3】:

    在您的活动onPause() 方法中使用yourdialog.cancel()。见http://developer.android.com/reference/android/app/Activity.html。一个例子:

    @Override
    protected void onPause() 
    {
        super.onPause();
        if (yourdialog != null)
        {
            yourdialog.cancel();
        }
    }
    

    【讨论】:

      【解决方案4】:

      您可以覆盖对话活动的onStop()

      @Override
      protected void onStop() {
         super.onStop();
         finish();
      }
      

      但是,这也意味着当设备被锁定时您的对话框将关闭。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多