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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • matplotlib.pyplot.plot()参数详解「建议收藏」

    matplotlib.pyplot.plot()参数详解「建议收藏」https://matplotlib.org/api/pyplot_summary.html在交互环境中查看帮助文档:importmatplotlib.pyplotasplthelp(plt.plot)以下是对帮助文档重要部分的翻译:plot函数的一般的调用形式:#单条线:plot([x],y,[fmt],data=None,**kwargs)#多条线一…

    2022年7月14日
  • s3c2440时钟频率「建议收藏」

    s3c2440时钟频率「建议收藏」分类:LINUX++++++++++++++++++++++++++++++++++++++++++本文系本站原创,欢迎转载!转载请注明出处:http://blog.csdn.net/mr_raptor/article/details/6555734++++++++++++++++++++++++++++++++++++++++++系统时钟MINI2440开发板

    2022年6月14日
  • JS中click事件

    JS中click事件今天在写Ajax请求代码时,js代码遇到了一点问题。最后还专门将一部分代码拷贝到webStorm里面测试,花了好久,发现是个坑。先贴一段代码:第一个按钮的点击事件没有任何反应。第二个按钮就会弹出“你好”。原因:这是因为我使用了click这个作为函数的名字,我在这几类中查询了一下,却没有发现click的踪影,而使用click作为函数名,浏览器既不报错,也不提示,真的很坑啊!类似还有open和clos…

    2022年6月13日
  • clientWidth–用法[通俗易懂]

    clientWidth–用法[通俗易懂]<!DOCTYPEhtml><html><head><title></title><metacharset=’utf-8’/><styletype=”text/css”>*{margin:0;padding:…

    2022年7月22日
  • Kotlin学习之路(3)控制语句

    Kotlin学习之路(3)控制语句

    2021年3月12日
  • PHP审计之class_exists与任意实例化漏洞

    PHP审计之class_exists与任意实例化漏洞前言发现PHP的一些漏洞函数挺有意思,跟着七月火师傅的文章来学习.class_exists函数函数说明class_exists:(PHP

    2021年12月13日

发表回复

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

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