Android 11,自定义标签和FLAG_ACTIVITY_CLEAR_TOP

问题描述

在我正在使用Chrome Tab的应用程序中,它用于外部OAuth流。 流程结束时,“自定义”选项卡将保持打开状态,并显示一条参考消息,并发送一封包含自定义方案链接的电子邮件

在Android 10之前,单击电子邮件链接将返回到应用程序,关闭选项卡,并继续执行所需的操作。为此,我们使用TabLauncherActivity来启动选项卡,并使用SchemeHandlerActivity来接收电子邮件中的方案,并启动TabLauncherActivity并使用FLAG_ACTIVITY_CLEAR_TOP来有效地返回到先前的实例,并且清除堆栈中的标签SchemeHandlerActivity

进入Android11。通过链接将应用程序置于前台,但Chrome标签页拒绝关闭。手动将其关闭将恢复预期的流量。

该应用程序尚未定位到11。我知道应用程序间通信存在一些限制,但没有针对该平台的需求,我希望不会有问题。

任何关于问题可能是什么的想法都将受到欢迎。

谢谢。

解决方法

为您的“自定义标签”意图使用标记Intent.FLAG_ACTIVITY_NO_HISTORY

customTabsIntent.intent.flags = Intent.FLAG_ACTIVITY_NO_HISTORY

因此,当您返回应用程序时,“自定义”标签将不再位于此处。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...