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

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

我怎样才能做到这一点?

Solutions Collecting From Web of "Android – 如何从最近的应用程序中删除活动?"

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

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


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

onPause() dialog.cancel() onPause()

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

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

你开始的活动不会在最近的应用程序。

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

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

你可以重载你的对话框活动的onStop()

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

但是,这也意味着当设备被locking时,对话框将closures。