切换风格

默认Lavender Sky Flowers Wizard Snow Beige California City Dragon Black London Sunset glow Pink Cloud
12下一页

15

主题

261

积分

0

精华

用户组 

易积分
454
热心
0
好评
1
关于腾讯X5类库: WebView加载网页出错:ERR_UNKNOWN_URL_SCHEME[复制链接]
发表于 2019-11-20 22:25:56 | 显示全部楼层 |阅读模式
关于腾讯X53.6版类库: WebView加载网页出错:ERR_UNKNOWN_URL_SCHEME


一、原因
因为webview只能识别http, https这样的协议,像一些微信(weixin://)、去哪儿(qunaraphone://),他们自定义的协议webView是无法识别的,因此就会出现:ERR_UNKNOWN_URL_SCHEME这样的错误。

一般会“位于:………………的网页无法加载,因为 net:ERR_UNKNOWN_URL_SCHEME”,在这里我们就可以看到无法打开的协议。

二、解决
给WebView设置WebViewClient,并重写WebViewClient中的shouldOverrideUrlLoading方法.
首先我们来了解下shouldOverrideUrlLoading(WebView view, String url)方法,该方法会在加载超链接时回调过来,所以通过重写shouldOverrideUrlLoading,可以实现对网页中超链接的拦截;返回值为boolean型,是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器。默认false

所以,我们可能在有的博文中看到不去重写该方法也可以解决ERR_UNKNOWN_URL_SCHEME这个错误。
这里我们讲下重写shouldOverrideUrlLoading来解决。

webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if (url == null) return false;

                try{
                    if(!url.startsWith("http://") && !url.startsWith("https://")){
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity(intent);
                        return true;
                    }
                }catch (Exception e){//防止crash (如果手机上没有安装处理某个scheme开头的url的APP, 会导致crash)
                    return true;//没有安装该app时,返回true,表示拦截自定义链接,但不跳转,避免弹出上面的错误页面
                }

                // TODO Auto-generated method stub
                //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
                view.loadUrl(url);
                return true;
            }
        });
————————————————
版权声明:本文为CSDN博主「Glide風」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。


QQ截图20191120222351.png
QQ截图20191120222351.png
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

13

主题

1424

积分

0

精华

用户组 

易积分
1072
热心
1
好评
1

活跃会员热心会员

发表于 2019-11-20 22:39:09 | 显示全部楼层
修复的类库呢?
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

17

主题

1780

积分

0

精华

用户组 

易积分
1669
热心
1
好评
3

活跃会员热心会员

发表于 2019-11-21 07:48:47 | 显示全部楼层
路过看看。。。。。。。。。。。。。。。。。。。。。
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

49

主题

1541

积分

1

精华

用户组 

易积分
7053
热心
4
好评
10

热心会员活跃会员

发表于 2019-11-21 09:53:33 | 显示全部楼层
老子看完一脸懵逼

点评

无非就是非http s尝试跳转啊  详情 回复 发表于 2019-11-21 15:51
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

3

主题

493

积分

0

精华

用户组 

易积分
2505
热心
0
好评
0
发表于 2019-11-21 11:07:31 | 显示全部楼层
进来看看了解一下
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

52

主题

1012

积分

0

精华

用户组 

易积分
6601
热心
0
好评
8
QQ

活跃会员

发表于 2019-11-21 15:51:39 | 显示全部楼层
443083227 发表于 2019-11-21 09:53
老子看完一脸懵逼

无非就是非http   s尝试跳转啊
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

5

主题

93

积分

0

精华

用户组 

易积分
88
热心
0
好评
0
QQ
发表于 2019-11-21 18:14:50 | 显示全部楼层

驱动哇DWQ 单位啊WA的哇DWQDWQD
你若安好便是晴天
回复

使用道具 举报

5

主题

221

积分

0

精华

用户组 

易积分
1095
热心
0
好评
0
QQ
发表于 2019-11-22 09:35:30 | 显示全部楼层
板凳,鉴定完毕。。。。。。。。。。。。。。
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

19

主题

275

积分

0

精华

用户组 

易积分
243
热心
0
好评
0
发表于 2020-1-18 20:34:44 来自手机 | 显示全部楼层
看过了,没搞懂,尴尬
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

7

主题

561

积分

0

精华

用户组 

易积分
221
热心
0
好评
0
发表于 2022-2-18 01:56:20 | 显示全部楼层
易如意中文编程学习交流论坛有你更精彩~
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

QQ|sitemap|免责声明|RGB颜色对照表|手机版|小黑屋| 易如意 - E4A中文编程学习交流论坛

GMT+8, 2025-5-5 03:57 , Processed in 0.207781 second(s), 37 queries .

Powered by Discuz! X3.4

© 2001-2018 eruyi.cn

返回顶部