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


相关推荐

  • 【转载】C#相等性比较

    【转载】C#相等性比较

    2021年11月21日
    48
  • 嵌入式Linux–menuconfig详解

    嵌入式Linux–menuconfig详解menuconfig工作原理menuconfig是一套图像化配置工具,由ncurses库提供软件支持。ncurses库提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。menuconfig本身的软件只负责提供menuconfig工作的这一套逻辑,比如说通过上下左右调整光标,Enter选中等,并不负责提供内容。menuconfig运行之后会读取Kconfig、读取/写入….

    2022年6月11日
    29
  • Eclipse配置tomcat[通俗易懂]

    1.打开Eclipse,Window–>Preference–>Server–>RuntimeEnvironments2.点击Add,选择相应的tomcat版本,本文以tomcat-8.0.53为例3.选择ApacheTomcatv8.0,点击Next4.配置好Tomcat名和Tomcat路径,点击finish5.在Eclipse控制台…

    2022年4月8日
    41
  • 2013-2019年百度搜索算法规则解读与应对

    2013-2019年百度搜索算法规则解读与应对2013-2019年百度搜索算法规则解读影响与建议百度冰桶算法百度冰桶算法1.0——》算法自2014年8月30日上线  主要打击移动端网站强行用户下载APP、用户登陆才能继续使用和大面积的广告覆盖行为,影响用户的浏览体验,尤其以必须下载app才能正常使用的站点。百度冰桶算法2.0——-》算法自2014年11月18日上线  主要打击移动端手机广告遮挡屏幕浏览,…

    2022年5月17日
    44
  • 深入理解Java虚拟机——JVM垃圾回收机制和垃圾收集器详解

    深入理解Java虚拟机——JVM垃圾回收机制和垃圾收集器详解说起垃圾回收(GarbageCollection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,顾名思义,垃圾回收就是释放垃圾占用的空间,这一切都交给了JVM来处理。本文主要解答三个问题:1、哪些内存需要回收?(对象是否可以被回收的两种经典算法:引用计数法和可达性分析算法) 2、如何回收?

    2022年5月13日
    40
  • AutoEventWireup介绍

    AutoEventWireup介绍       ASP.NET页会引发诸如Init、Load、PreRender等生命周期事件。默认情况下,可以使用Page_事件名称的命名约定将页事件绑定到方法。例如,若要为页的Load事件创建处理程序,可以创建名为Page_Load的方法。编译时,ASP.NET将查找基于此命名约定的方法,并自动执行事件与方法之间的绑定。可以对Page类公开的任何事件使用Page

    2022年5月8日
    38

发表回复

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

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