android - Android 11、自定义标签和 FLAG_ACTIVITY_CLEAR_TOP
问题描述
在我正在处理的应用程序中,Chrome 选项卡用于外部 OAuth 流。在流程结束时,自定义选项卡保持打开状态并显示一条信息性消息,并发送一封包含自定义方案链接的电子邮件。
直到 Android 10 单击电子邮件链接将返回到应用程序,关闭选项卡,然后继续执行所需的任何操作。为了实现这一点,我们使用一个TabLauncherActivity
启动选项卡和一个SchemeHandlerActivity
从电子邮件接收方案并启动TabLauncherActivity
,FLAG_ACTIVITY_CLEAR_TOP
有效地返回到前一个实例并SchemeHandlerActivity
从堆栈中清除选项卡和 。
进入 Android 11。应用程序通过链接被带到前台,但 Chrome 选项卡拒绝关闭。手动关闭它将恢复预期的流程。
该应用程序尚未针对 11。我知道应用程序间通信存在一些限制,但不针对平台我希望不会有问题。
关于问题可能是什么的任何想法都将受到欢迎。
谢谢。
解决方案
Intent.FLAG_ACTIVITY_NO_HISTORY
为您的自定义选项卡意图使用标志:
customTabsIntent.intent.flags = Intent.FLAG_ACTIVITY_NO_HISTORY
因此,当您返回应用程序时,自定义选项卡将不再存在。
推荐阅读
- vb.net - 搜索部分文本并编辑其后面的数字
- python - 防止 os.walk 在找到一个没有我要过滤的文件类型的子目录后停止
- python - 无法在 Windows 10 上安装 dlib
- javascript - 当我尝试获取时出现 PDOException(PDO::FETCH_ASSOC)
- angular - 在量角器中填写表格的更有效方法?
- typescript - 如何在不为其创建变量的情况下指定一个值必须具有特定类型?
- c - strcmp 或数组错误?
- polymer - 具有多个组件实例的聚合物不一致的数据
- javascript - 如何获取用户输入并输出值?
- python - Django 如何创建表(sqlite)?