gpt4 book ai didi

Android 应用程序链接 - 在浏览器中打开应用程序的 url 而不会触发应用程序链接

转载 作者:行者123 更新时间:2023-12-03 13:26:20 25 4
gpt4 key购买 nike

我在我的应用程序中启用了应用程序链接。它工作正常。但是在我的应用程序中,在某些情况下我无法处理传入的 url。在这些情况下,我想将该 url 重定向到设备中的默认浏览器。

目前我尝试做的是使用 Intent 打开带有 url 的浏览器,但它再次重定向到我的应用程序本身。应用程序链接的格式为 ->

https://<domain>/<prefix>/<params>

所以根据参数,我想在应用程序本身中处理应用程序链接或将其重定向到默认浏览器。以下是我尝试使用上述网址打开浏览器的代码
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(appLinkModel.url))
browserIntent.addCategory(Intent.CATEGORY_APP_BROWSER)
browserIntent.resolveActivity(packageManager)?.let {
startActivity(browserIntent)
}

我尝试排除 addCategory() 行,但结果是一样的。应用程序崩溃(因此是 resolveActivity()),或者应用程序在循环中打开自身。

我想做什么

所以我想要做的是将url重定向到默认浏览器(或显示一个选择器 没有我的应用程序),而不是一次又一次地触发应用程序链接。那么这可能吗?

最佳答案

String data = "example.com/your_url?param=some_param";
Intent defaultBrowser = Intent.makeMainSelectorActivity(Intent.ACTION_MAIN, Intent.CATEGORY_APP_BROWSER);
defaultBrowser.setData(data);
startActivity(defaultBrowser);
这种技术(使用 makeMainSelectorActivity)将强制链接在设备的默认浏览器中打开
注意 - makeMainSelectorActivity仅适用于 API 级别 15 及以上。
如果您需要支持低于 15 的 API 级别,您可以尝试 this黑客

关于Android 应用程序链接 - 在浏览器中打开应用程序的 url 而不会触发应用程序链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58800240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com