在 Android 应用中打开深层链接后返回浏览器

Posted

技术标签:

【中文标题】在 Android 应用中打开深层链接后返回浏览器【英文标题】:Return to browser after opening a deeplink in an android app 【发布时间】:2021-11-03 18:06:24 【问题描述】:

我正在尝试为以下用例寻找解决方案。在我们的网站上,我们有一个深层链接,通过单击哪个客户应该被重定向到我们的应用程序(如果它已安装)或浏览器中的另一个网页(根据链接)。我在这里想要实现的是在我们的应用处理深层链接后返回浏览器页面。

从技术上讲,我可以尝试使用页面的 URL 启动 Intent,但不幸的是,它不能保证我们会返回到点击深层链接的页面,而且系统可能会要求我们选择一个用于打开 URL 的应用程序(如果默认情况下未设置)。这里的另一个问题是链接可能会在新标签页中打开,这也不是很好。

有什么办法可以做到吗?

【问题讨论】:

【参考方案1】:

我有类似的任务,这些步骤帮助了我。

    使用EXTRA_REFERRER,您可以获得类似的内容(取决于启动您的活动的浏览器):
android-app://com.opera.browser android-app://org.mozilla.firefox android-app://com.android.chrome

    然后提取包名,例如com.opera.browser,并使用getLaunchIntentForPackage为其创建意图。

    然后将Intent.FLAG_ACTIVITY_REORDER_TO_FRONT 标志添加到刚刚创建的意图中。我不确定这一步是否必要。

    然后startActivity 创建意图。

【讨论】:

以上是关于在 Android 应用中打开深层链接后返回浏览器的主要内容,如果未能解决你的问题,请参考以下文章

Android 深层链接 - 不显示意图选择器弹出窗口,强制打开应用

防止 Android 重新创建已经存在的活动

如果应用程序已通过深层链接打开,Android 深层链接将不起作用

如何通过邮件中的android深层链接打开片段?

使用 branch.io 来自 Play 商店的 Android 深层链接

导航组件隐式深层链接后按退出应用