Android获取WebView加载url的请求错误码 【推荐】
程序员文章站
2022-10-13 09:40:54
例如需求,我有一个webview 加载一个url, 该url对应的网页本身自带下拉刷新 ,但是网页本身会有出现400 500 等异常请求错误码
这时候网页加载失败,页面本...
例如需求,我有一个webview 加载一个url, 该url对应的网页本身自带下拉刷新 ,但是网页本身会有出现400 500 等异常请求错误码
这时候网页加载失败,页面本身的下拉是无法使用的,要求重新加载页面的话就需要在webview外层套一个android下拉控件(swiperefreshlayout)
这样导致下拉一定用的swiperefreshlayout的下拉
最终要求是如果页面加载成功的话,用页面本身的下拉,如果页面加载失败的话,用android下拉控件的下拉
--------------------------------------------------------------------------------------------------------------------------------------------
解决办法就是监听加载的url的请求的错误码,对swiperefreshlayout.setenabled()
来控制是否允许下拉刷新
监听对应6.0+ 6.0以下 分别为两种实现方式:
一、android 6.0+ 判断请求码
mwebview.setwebviewclient(new webviewclient() { // ..... @override public void onreceivedhttperror(webview view, webresourcerequest request, webresourceresponse errorresponse) { super.onreceivedhttperror(view, request, errorresponse); if (build.version.sdk_int >= build.version_codes.m) { if (errorresponse.getstatuscode() == 500 ){ refresh.setenabled(true); // 放开下拉 } logutils.i(tag, "onreceivedhttperror:"+ errorresponse.getstatuscode()); } } });
二、android 6.0以下 判断请求码
mwebview.setwebchromeclient(new webchromeclient() { // ..... @override public void onreceivedtitle(webview view, string title) { super.onreceivedtitle(view, title); if (build.version.sdk_int < build.version_codes.m) { if (title.contains("500")) { refresh.setenabled(true); } } } });
总结
以上所述是小编给大家介绍的android获取webview加载url的请求错误码,希望对大家有所帮助
推荐阅读
-
解决Android WebView拦截url,视频播放加载失败的问题
-
Android获取WebView加载url的请求错误码 【推荐】
-
Android项目实战(五十六):获取WebView加载的url的请求错误码
-
Android拦截并获取WebView内部POST请求参数的实现方法
-
webView获取链接后的url和加载经过处理后的HTML_html/css_WEB-ITnose
-
解决Android WebView拦截url,视频播放加载失败的问题
-
webView获取链接后的url和加载经过处理后的HTML_html/css_WEB-ITnose
-
Android项目实战(五十六):获取WebView加载的url的请求错误码
-
Android webview 加载新的URL时 onProgressChanged、onPageFinished 不调用