首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何验证url是否为applink

如何验证url是否为applink
EN

Stack Overflow用户
提问于 2021-04-05 09:52:59
回答 1查看 234关注 0票数 0

我正在构建一个web应用程序,我希望我的应用程序打开应用程序链接。

然而,我在判断一个url是应用程序链接还是常规url时遇到了麻烦。

就像chrome做的那样,如果url不是应用程序链接或深度链接,我希望我的应用程序在应用程序内导航,但如果不是来自指定的主机,我当前的方法将在外部浏览器中打开所有url。

代码语言:javascript
复制
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();
        }
    }
}

有没有办法区分app链接导航和计划url导航的行为?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-04-06 09:11:36

虽然这不是我所期望的行为,但我还是找到了类似的东西。

如果任何人对在应用程序外部使用startActivity(url_intent)执行而不是在浏览器中执行感兴趣,可以添加

代码语言:javascript
复制
intent.setFlags(Intent.FLAG_ACTIVITY_REQUIRE_NON_BROWSER);

您可以忽略包含以下内容的应用程序的执行

代码语言:javascript
复制
<intent-filter>
        <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>

https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66947430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档