Android - 如何从最近的应用中删除活动?

时间:2013-01-25 14:00:49

标签: android

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

我该怎么做?

4 个答案:

答案 0 :(得分:33)

  

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

我认为android:excludeFromRecents="true"应该做到这一点。在清单中使用它


  

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

dialog.cancel()

中的

onPause()

答案 1 :(得分:4)

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

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

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

答案 2 :(得分:2)

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

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

答案 3 :(得分:0)

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

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

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