net:err_unknown_url_scheme

net:err_unknown_url_scheme

WebView在应用中还是很常见的,比如我们的注册协议、常见问题等

但是实际开发中总是会遇到一些问题,net:err_unknown_url_scheme

1、解决方法:以”http”,”https”开头的url在本页用webview进行加载,其他链接进行跳转

2、解决方法:以微信、支付宝、拨号 三种跳转方式,其他类型等进行分类

mWebView.setWebViewClient(new WebViewClient() {
            //重写此方法,查看浏览器内部跳转
            public boolean shouldOverrideUrlLoading(WebView v, String u) {
                String urlStr = u;
                Log.i(String.valueOf(DetailsActivity.this), urlStr);
                if (u == null) {
                    return false;
                }
                try {
                    /*|| url.startsWith("http:") || url.startsWith("https:")*/
                    if (u.startsWith("weixin://") || u.startsWith("alipays://") || u.startsWith("tel://")) {
                        //类型我目前用到的是微信、支付宝、拨号 三种跳转方式,其他类型自加
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity(intent);
                        return true;
                    }
                } catch (Exception e) {
                    return false;
                }
                v.loadUrl(u);
                return true;
            }

            @Override
            public void onPageStarted(WebView view, String u, Bitmap favicon) {
                super.onPageStarted(view, u, favicon);
                loadingWindow.show();
            }

            @Override
            public void onPageFinished(WebView view, String u) {
                super.onPageFinished(view, url);
                loadingWindow.dismiss();
            }

            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                handler.cancel(); //默认的处理方式,WebView变成空白页   
//                handler.process();//接受证书
//                handleMessage(Message msg);// 其他处理
            }

        });
        if (url != null) {
            mWebView.loadUrl(url);
        }
    }

应用中重写shouldOverrideUrlLoading这个方法设置相应的webview中连接的指定跳转方式即可。

net:err_unknown_url_scheme这个问题正是在网页中有 其他协议的连接。

 

还有Android 9.0的坑请移步  net::ERR_CLEARTEXT_NOT_PERMITTED Android9.0无法加载url

                                             Android 9.0 WebView无法加载页面报错 net:ERR_CLEARTEXT_NOT_PERMITTED

 

后续还有更多在进行补充。

书到用时方恨少,纸上得来终觉浅!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115037.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 树的高度和深度 | 结点的高度和深度「建议收藏」

    树的高度和深度 | 结点的高度和深度「建议收藏」有个缺点,看到什么东西不管是不是重点只要说不通总是爱钻牛角尖。对于树的高度和深度(以及结点的高度和深度)看了几本不同的书,都有各自的说法,多方查证吧,花了很多时间,最后归纳一个能说服我的说法吧。(´。•ᵕ•。`)♡树的高度和深度深度是从上往下定义的,从根结点开始数,高度是从下往上定义的,从叶子结点开始数。这个涉及到结点的层数,有的教材规定根结点在第0层,有的则规定根结点在第一层。…

    2022年5月25日
    38
  • 图片批量重命名方法(超详细 无需辅助软件 本地运行)

    图片批量重命名方法(超详细 无需辅助软件 本地运行)图片批量重命名,完整步骤,后续补充内容包括读取所有图片名称输出到excel等……

    2025年9月15日
    7
  • 软件测试的基本理论知识_学软件测试需要什么基础

    软件测试的基本理论知识_学软件测试需要什么基础01软件研发流程1.软件产品软件产品是指向用户提供的计算机软件、信息系统或设备中嵌入的软件或在提供计算机信息系统集成、应用服务等技术服务时提供的计算机软件。2.软件工程软件工程,英文名SoftwareEngineering,是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。“软件工程是开发、运行、维护和修复软件的系统方法。”这个定义相当概括,它主要强调软件工程是系统方法而不是某种…

    2025年8月22日
    2
  • 了解DN、RDN和CN

    了解DN、RDN和CN了解DN、RDN和CNDN可以看做是到ActiveDirectory中某一对象的路径,ActiveDirectory中的每个对象都有完全唯一的DN。例如我们的用户JamesFine的DN就是”CN=JamesFine,OU=People,DC=contoso,DC=com”。实际上是这样的:DN是由对象本体开始:向上延伸到contoso.com域顶级的DNS命名空间的一串路

    2022年6月18日
    22
  • eclipse安装教程(win10版本,很全的)

    eclipse安装教程(win10版本,很全的)第一步:下载JDK。先给上下载链接:http://www.oracle.com/technetwork/java/javase/downloads/index.html之后根据自己的系统选择,x86代表32位,x64代表64位。点击相应的jdk下载。同意之后下载。(记住下载到哪,打开之后一路同意安装即可)记住你把Jdk安装到哪里,文件路径不要有中文,有时会无法识别,我是将jdk安装到D盘java文件夹下第二步:java环境变量配置。(这是第一种方法,还有第二种设置JAVA_HOME,个人推

    2022年6月13日
    66
  • 最长回文子串 python_最长回文子序列

    最长回文子串 python_最长回文子序列647.回文子串题目给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例1:输入:”abc”输出:3解释:三个回文子串:”a”,”b”,”c”示例2:输入:”aaa”输出:6解释:6个回文子串:”a”,”a”,”a”,”aa”,”aa”,”aaa”提示:输入的字符串长度不会超过10…

    2022年10月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号