我使用 Android Webview 来加载这样的 URL:
mWebView = (WebView)v.findViewById(R.id.webView);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.loadUrl("someUrl");
如何检测 webView 应该加载的链接是离线还是损坏?
最佳答案
是的,您可以使用 WebViewClient 类中的 onRecicedError()
检测 WebView 中的断开链接。
您必须为 WebViewClient 创建一个对象并实现 onRecicedError() 方法,并在 WebView 中使用 setWebViewClient()
方法设置 WebViewClient 对象
例如:
webView.setWebViewClient(new WebViewClient() {
@SuppressWarnings("deprecation")
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
if(errorCode == 404){
Log.d("Webview", "Invalid URL: "+url);
}
else if(errorCode == 500){
Log.d("Webview", "Internal Server error: "+url);
}
}
@TargetApi(android.os.Build.VERSION_CODES.M)
@Override
public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr) {
// Redirect to deprecated method, so you can use it in all SDK versions
onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString());
}
});
关于java - 如何使用 Android Webview 检查链接是否离线或损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33345881/