Webview 遇到net::ERR_UNKNOWN_URL_SCHEME 错误
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
WebView.HitTestResult hit = view.getHitTestResult();
//()为null或者() == 0都表示即将加载的URL会发生重定向,需要做拦截处理
if (TextUtils.isEmpty(hit.getExtra()) || hit.getType() == 0) {
}
//加载的url是http/https协议地址
if (request.getUrl().getScheme().startsWith("http://") || request.getUrl().getScheme().startsWith("https://")){
view.loadUrl(request.getUrl().toString());
return false;
}else{
//加载的url是自定义协议地址
try {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(request.getUrl().toString()));
Main1Activity.this.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
});