android - 如何拦截webview中的 "Page Not Found"错误?

标签 android webview

我正在编写一个包含 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/

相关文章:

android - 应用程序启动时如何在谷歌地图中显示特定城市的 map

android - 附加到上一个 fragment 的 RecyclerView 适配器

android - Android 终止服务时是否有任何迹象?

AFW 注册后,Android O 无法扩充 webview

javascript - 带弹出窗口的 Windows 应用商店 HTML 应用程序

android - 高亮文本功能,例如 google play book

android - 调试 Android 应用程序时出现 No source attachment 错误

android - API 19 上可绘制的 XML 向量的资源 $NotFoundException

android - 如何在webView中下载文件?

javascript - 如何访问chrome app中的webview内容