Android 11、自定义标签和 FLAG_ACTIVITY_CLEAR_TOP
Posted
技术标签:
【中文标题】Android 11、自定义标签和 FLAG_ACTIVITY_CLEAR_TOP【英文标题】:Android 11, Custom Tabs, and FLAG_ACTIVITY_CLEAR_TOP 【发布时间】:2021-01-04 00:26:04 【问题描述】:在我正在处理的应用程序中,Chrome 选项卡用于外部 OAuth 流程。 在流程结束时,自定义选项卡保持打开状态并显示一条信息性消息,并发送一封包含自定义方案链接的电子邮件。
在 android 10 之前,单击电子邮件链接将返回应用程序,关闭选项卡并继续执行所需的任何操作。为了实现这一点,我们使用了启动选项卡的TabLauncherActivity
和从电子邮件接收方案并启动TabLauncherActivity
的FLAG_ACTIVITY_CLEAR_TOP
有效地返回到前一个实例并清除选项卡和SchemeHandlerActivity
从堆栈中。
进入 Android 11。应用程序通过链接被带到前台,但 Chrome 选项卡拒绝关闭。手动关闭它会恢复预期的流程。
该应用程序尚未针对 11。我知道应用间通信有一些限制,但不是针对平台,我希望不会有问题。
任何关于问题可能是什么的想法都将受到欢迎。
谢谢。
【问题讨论】:
【参考方案1】:为您的自定义标签意图使用标志 Intent.FLAG_ACTIVITY_NO_HISTORY
:
customTabsIntent.intent.flags = Intent.FLAG_ACTIVITY_NO_HISTORY
因此,当您返回应用程序时,自定义选项卡将不再存在。
【讨论】:
以上是关于Android 11、自定义标签和 FLAG_ACTIVITY_CLEAR_TOP的主要内容,如果未能解决你的问题,请参考以下文章
Android自定义View(LineBreakLayout-自动换行的标签容器)