Android,当我尝试打开清单文件中存在的链接时,应用程序陷入无限循环

问题描述 投票:0回答:1

我有深度链接网址的场景:

www.business.co.uk/some_search?someparams=data

我有2个案例, 我将此链接发送到后端服务,其中提取参数并将其返回到我的应用程序以根据该结果执行搜索。

第二种情况是当后端无法清理此链接时,我想在网络浏览器中打开该链接。

问题: 因为我的清单中有路径,所以当我的后端服务返回相同的链接时。我在浏览器中打开该链接。 我遇到这样的情况:操作系统认为我的应用程序可以处理 URI 并再次深度链接它,然后我陷入了无限循环。

我可以更改该路径,看起来清单只能访问该路径而无法触及查询参数,(我希望我可以有一个查询参数,但这也不起作用)。

确实有一个很好的解决方案,我可以防止这种无限循环,以便当我的应用程序打开浏览器时它不会深层链接。

我尝试添加一个额外的参数来停止深度链接,但是该参数无法在清单级别上识别,因此无论如何,这个深度链接总是会发生。 我无法改变我的道路,正如你所看到的,这是一条小路,所以无能为力。

android deep-linking android-deep-link
1个回答
0
投票

Android 15 将支持基于查询参数的 Intent 过滤器

Android 15 查询参数意图过滤器

现在您可以使用 WebView 或 AndroidX 浏览器库来打开从服务器获取的 url。

AndroidX 浏览器库使用此库您可以直接在应用程序中启动 chrome 选项卡。

implementation ‘androidx.browser:browser:1.0.0’

或者您可以在网络视图中打开,如下所示

 webView = (WebView) findViewById(R.id.webView1);
 webView.getSettings().setJavaScriptEnabled(true);
 webView.loadUrl("http://www.google.com");
© www.soinside.com 2019 - 2024. All rights reserved.