2

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

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

4

2 回答 2

4

我已经阅读了文档,看起来如果在调用 Activity 时设置了这个标志,如果用户按下后退按钮或 Activity 已完成(),它仍然保留在堆栈上。

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

于 2015-02-13T02:55:18.107 回答
2

OverviewScreen 中的另一种用法: 如果您想在概览屏幕中保留任务,即使其活动已完成,请在启动活动的 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 标志

于 2015-02-13T03:38:59.963 回答