我正在编写一个包含 WebView 的应用程序。我想添加一些功能来拦截“找不到页面”消息,以防我试图在我的应用程序中显示的内容离线或由于其他原因无法访问。 我尝试使用 onReceivedError() 但无济于事。除非我的语法可能是错误的,但如果是这样,我看不到错误。有人可以帮忙吗?
代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.somesite.net");
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Log.i("WEB_VIEW_TEST", "error code:" + errorCode);
super.onReceivedError(view, errorCode, description, failingUrl);
//TO DO - do something else in here if the site is down
}
});
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
最佳答案
应在加载 url 之前设置 WebViewClient。
关于android - 如何拦截webview中的 "Page Not Found"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5021099/