我是靠谱客的博主 现代啤酒,最近开发中收集的这篇文章主要介绍webview加载报错,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近有个同事问我,他的页面有一个请求失败了,然后整个H5就没办法加载了。分享一段代码,做个记录吧。

可以这样处理

priavte final class TestWebviewClient extends WebviewClient{

    @Override
    public boolean shouldOverrideUrlLoading(WebView webview, String url) {
        Lg.i(TAG, "shouldOverrideUrlLoading", url);
        boolean isValidUrl = !TextUtils.isEmpty(url) && (url.startsWith("https://") || url.startsWith("http://"));
        if (isValidUrl) mLastUrl = url;
        if (!isValidUrl) Lg.v(TAG, "invalid url,skipping", url);
        return !isValidUrl;// for not isValidUrl,return true to avoid loading
    }

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

    @Override
    public final void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
        super.onReceivedError(view, request, error);
        String failingUrl = null;
        int errorCode = -1;
        String description = "";
        if (VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            failingUrl = request.getUrl().toString();
        }
        if (VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            errorCode = error.getErrorCode();
            description = String.valueOf(error.getDescription());
        }
        handleReceivedError(view, errorCode, description, failingUrl);
    }

    private void handleReceivedError(WebView view, int code, String message, String url) {
        Lg.e(TAG, "onReceivedError", url, code, message);
        if (!TextUtils.isEmpty(url)) {
            url = url.replace("/?", "?");
            if (mLastUrl.equals(url)) {
                // only show reloading page when the main url receive error
                // (let it go when received other url's error)
                mHasError = true;
                updateLoadingStatus(ERROR);
            }
        }
    }
}

最后

以上就是现代啤酒为你收集整理的webview加载报错的全部内容,希望文章能够帮你解决webview加载报错所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部