首页
编程随笔
Java笔记
Html/Css/Js
Android
后端笔记
服务器搭建
BUG收集
Java异常
Android异常
在线工具
Json格式化
编码/解码
Epub在线编辑
登录
发布文章
个人文章
退出登录
首页
技术教程
BUG收集
在线工具
资源下载
登录
发布文章
退出登录
搜索
当前位置:
首页
-
博客
- 正文
关闭
Android中的WebView中加载非Http(s)的URL导致net::ERR_UNKNOWN_URL_SCHEME
更新时间:2021-11-20 01:12:12
阅读数:938
发布者:落幕
最近开发遇到加载一个支付宝H5跳转(加载的URL为https开头的),使用的是Android应用中WebView来加载实现的,就出现了net::ERR_UNKNOWN_URL_SCHEME的错误 ```java 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) ToastUtils.makeText("找不到应用!"); return true;//没有安装该app时,返回true,表示拦截自定义链接,但不跳转,避免弹出上面的错误页面 } //下面的两种方式选择使用其中一种即可 // TODO Auto-generated method stub //1:返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 view.loadUrl(url); return true; } }); ```