我在Android应用上创建了一个自定义对话框。此对话框是具有Dialog主题的活动。现在,假设应用程序显示此对话框,用户按“主页”返回Android主页视图。之后,用户按住按钮Home
,然后从最近的应用中选择我的应用。它会再次显示对话框。
我想在这里做的是对话框不应该显示。我想显示调用此对话框的活动。
我该怎么做?
答案 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();
}
但是,这也意味着当设备被锁定时,对话框将关闭。