14

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

我怎样才能做到这一点?

4

4 回答 4

46

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

我认为android:excludeFromRecents="true"应该做的伎俩。在清单中使用它


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

dialog.cancel()onPause()

于 2013-01-25T14:05:52.340 回答
5

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

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

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

于 2015-01-13T14:51:07.420 回答
2

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

@Override
protected void onPause() 
{
    super.onPause();
    if (yourdialog != null)
    {
        yourdialog.cancel();
    }
}
于 2013-01-25T14:04:28.533 回答
0

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

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

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

于 2013-01-25T14:09:54.370 回答