阻止 WebView 显示“网页不可用”

2022-08-31 11:23:48

我有一个广泛使用WebView的应用程序。当此应用程序的用户没有互联网连接时,将显示一个显示“网页不可用”的页面和各种其他文本。有没有办法在我的WebView中不显示此通用文本?我想提供我自己的错误处理。

private final Activity activity = this;

private class MyWebViewClient extends WebViewClient
 public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
  // I need to do something like this:
  activity.webView.wipeOutThePage();
  activity.myCustomErrorHandling();
  Toast.makeText(activity, description, Toast.LENGTH_LONG).show();
 }
}

我发现WebView->clearView实际上并没有清除视图。


答案 1

首先在HTML中创建自己的错误页面并将其放在您的资产文件夹中,让我们称之为myerrorpage.html然后使用onReceivedError:

mWebView.setWebViewClient(new WebViewClient() {
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
        mWebView.loadUrl("file:///android_asset/myerrorpage.html");

    }
});

答案 2

我发现的最佳解决方案是在 OnReceivedError 事件中加载一个空页面,如下所示:

@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
    super.onReceivedError(view, errorCode, description, failingUrl);

    view.loadUrl("about:blank");
}

推荐