net:err_unknown_url_scheme £神魔★判官ぃ 2022-03-25 02:44 1261阅读 0赞 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][net_ERR_CLEARTEXT_NOT_PERMITTED Android9.0_url]** ** [Android 9.0 WebView无法加载页面报错 net:ERR\_CLEARTEXT\_NOT\_PERMITTED][Android 9.0 WebView_ net_ERR_CLEARTEXT_NOT_PERMITTED]** 后续还有更多在进行补充。 书到用时方恨少,纸上得来终觉浅! [net_ERR_CLEARTEXT_NOT_PERMITTED Android9.0_url]: https://blog.csdn.net/qq_33721320/article/details/84400825 [Android 9.0 WebView_ net_ERR_CLEARTEXT_NOT_PERMITTED]: https://blog.csdn.net/qq_33721320/article/details/106637755
还没有评论,来说两句吧...