我正在尝试熟悉意图标志,并且我想了解 FLAG_ACTIVITY_RETAIN_IN_RECENTS。我已经阅读了文档,看起来如果在调用 Activity 时设置了这个标志,如果用户按下后退按钮或 Activity 已完成(),它仍然保留在堆栈上。这种解释准确吗?如果不是,这个标志是做什么用的?
参考: http: //developer.android.com/reference/android/content/Intent.html 提前谢谢!
我正在尝试熟悉意图标志,并且我想了解 FLAG_ACTIVITY_RETAIN_IN_RECENTS。我已经阅读了文档,看起来如果在调用 Activity 时设置了这个标志,如果用户按下后退按钮或 Activity 已完成(),它仍然保留在堆栈上。这种解释准确吗?如果不是,这个标志是做什么用的?
参考: http: //developer.android.com/reference/android/content/Intent.html 提前谢谢!
我已经阅读了文档,看起来如果在调用 Activity 时设置了这个标志,如果用户按下后退按钮或 Activity 已完成(),它仍然保留在堆栈上。
不,Activity 不会保留在堆栈中,但它的条目将显示在最近的任务列表中,您可以单击该条目以重新启动此 Activity,就像您重新启动应用程序一样。
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 标志