Android 11、自定义标签和 FLAG_ACTIVITY_CLEAR_TOP

标签 android kotlin android-intent android-activity chrome-custom-tabs

在我正在处理的应用程序中,Chrome 选项卡用于外部 OAuth 流。
在流程结束时,自定义选项卡保持打开状态并显示一条信息性消息,并发送一封包含自定义方案链接的电子邮件。
直到 Android 10 单击电子邮件链接将返回到应用程序,关闭选项卡,然后继续执行所需的任何操作。为了实现这一点,我们使用了 TabLauncherActivity启动选项卡和 SchemeHandlerActivity从电子邮件接收方案并启动TabLauncherActivityFLAG_ACTIVITY_CLEAR_TOP有效地返回到前一个实例并清除选项卡和 SchemeHandlerActivity从堆栈中。
进入 Android 11。应用程序通过链接被带到前台,但 Chrome 选项卡拒绝关闭。手动关闭它将恢复预期的流程。
该应用程序尚未针对 11。我知道应用程序间通信存在一些限制,但不针对平台我希望不会有问题。
关于问题可能是什么的任何想法都将受到欢迎。
谢谢。

最佳答案

使用标志Intent.FLAG_ACTIVITY_NO_HISTORY对于您的自定义标签 Intent :

customTabsIntent.intent.flags = Intent.FLAG_ACTIVITY_NO_HISTORY
因此,当您返回应用程序时,自定义选项卡将不再存在。

关于Android 11、自定义标签和 FLAG_ACTIVITY_CLEAR_TOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63932462/

相关文章:

java - 使用 AsyncTask 进行 android 网络连接

android - 如何在 OpenAi Kotlin Client 中使用编辑图像

android - 如何从我的 Android 应用程序打开 YouTube 应用程序主页 Activity ?

android - 使用两个值从 AutoCompleteTextView 获取 ID

java - 它说必须调用looper.prepare

android - 如何获取相机应用的包名

java - 如何在 Android 中使用自定义正则表达式验证 EditText 输入?

android - 在 Kotlin 中将 SVG 文件从 API 加载到 Android 中的 ImageView 中

android - 使用正确的上下文

java - Android Studio 通过不同的 Activity 计时