如何验证网址是不是为应用链接
Posted
技术标签:
【中文标题】如何验证网址是不是为应用链接【英文标题】:How to verify if a url is an applink or not如何验证网址是否为应用链接 【发布时间】:2021-06-30 23:38:21 【问题描述】:我正在构建一个 Web 应用程序,我希望我的应用程序能够打开应用程序链接。
但是,我无法确定网址是应用链接还是常规网址。
就像 chrome 一样,如果 url 不是应用程序链接或深层链接,我希望我的应用程序在应用程序内导航,但如果不是来自指定主机,我当前的方法会在外部浏览器中打开所有 url .
public boolean shouldOverrideUrlLoading(WebView view, String url)
String host = null;
try
URI u = new URI(url);
host = u.getHost();
catch (URISyntaxException e)
e.printStackTrace();
if (host == null || !host.contains("example.com"))
try
onActivity.startActivity(Intent.parseUri(url, Intent.URI_INTENT_SCHEME));
return true;
catch (ActivityNotFoundException | URISyntaxException e)
e.printStackTrace();
有没有办法区分应用链接导航和计划网址导航的行为?
谢谢
【问题讨论】:
【参考方案1】:虽然这不是我所期望的确切行为,但我发现了类似的东西。
如果有人对使用 startActivity(url_intent) 而不是在浏览器中执行外部应用感兴趣,请添加
intent.setFlags(Intent.FLAG_ACTIVITY_REQUIRE_NON_BROWSER);
您可以忽略包含
的应用程序的执行<intent-filter>
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9
【讨论】:
以上是关于如何验证网址是不是为应用链接的主要内容,如果未能解决你的问题,请参考以下文章
应用搜索 API 验证工具显示“example.com 正在返回 469。请检查您的网址并重试。”