我有一个活动A,可以通过添加 Intent.FLAG_ACTIVITY_NEW_DOCUMENT 标志(下面的代码)从另一个活动中启动。活动A仅启动chrome自定义标签并显示网页。
intent.apply {
addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT or Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS)
data = Uri.parse(url)
}
startActivity(intent)
根据文档,Intent.FLAG_ACTIVITY_NEW_DOCUMENT应该执行最近的任务并将该特定活动置于前台(如果存在具有相同组件名称和数据的任务),而不是再次创建新文档。在此处https://developer.android.com/guide/components/activities/recents
了解更多在Android版本5至7中,此效果很好。
但是,在Oreo及更高版本上,每当Activity A出现在前台时,先前打开的chrome自定义标签就会结束(活动结束)。
我不确定Oreo及以上版本中有关FLAG_ACTIVITY_NEW_DOCUMENT的行为是否发生变化,但我在文档中找不到任何内容。
任何帮助将不胜感激。