什么时候使用 FLAG_ACTIVITY_RETAIN_IN_RECENTS?

When to use FLAG_ACTIVITY_RETAIN_IN_RECENTS?

我正在尝试熟悉意图标志,我想了解 FLAG_ACTIVITY_RETAIN_IN_RECENTS。我已经阅读了文档,似乎如果在调用 Activity 时设置了此标志,如果用户按下后退按钮或 Activity 已完成(),它仍然保留在堆栈中。这个解释准确吗?如果不是,这个flag有什么用?

参考:http://developer.android.com/reference/android/content/Intent.html 提前致谢!

I have read the documentation and it seems like if this flag is set when calling an Activity, if the user presses the back button or that Activity is finished(), it still remains on the stack.

不,Activity不会留在堆栈中,但它的条目会显示在最近的任务列表中,您可以点击该条目重新启动此Activity就像您重新启动您的应用程序。

OverviewScreen 中的另一种用法: 如果您想在概览屏幕中保留任务,即使其 activity 已完成,请在启动 activity 的 Intent 的 addFlags() 方法中传递 FLAG_ACTIVITY_RETAIN_IN_RECENTS 标志。

private Intent newDocumentIntent() {
final Intent newDocumentIntent = new Intent(this, NewDocumentActivity.class);
newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT |
  android.content.Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS);
newDocumentIntent.putExtra(KEY_EXTRA_NEW_DOCUMENT_COUNTER, incrementAndGet());
return newDocumentIntent;

}

要达到相同的效果,请将属性 android:autoRemoveFromRecents 设置为 false。文档活动的默认值为 true,常规活动的默认值为 false。使用此属性会覆盖 FLAG_ACTIVITY_RETAIN_IN_RECENTS 标志