久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

android 下webview 如何判斷404?

瀏覽:125日期:2024-02-23 16:24:14

問題描述

我在使用

@Overridepublic void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { super.onReceivedError(view, request, error); PtrCLog.d('WebFragment', 'onReceivedError: ' + '');}

這個方法并沒有被回掉查看了一下說是需要API23 才可以。。有大佬知道有別的方法獲取404嗎?

問題解答

回答1:

new WebViewClient() { @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {super.onReceivedError(view, errorCode, description, failingUrl);if (errorCode == 404) { doSomething();} } @Override public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {super.onReceivedError(view, request, error);if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) { int errorCode = error.getErrorCode(); if (errorCode == 404) {doSomething(); }} }};回答2:

在onPageStarted里邊跑一個AsyncTask,在AsyncTask里用OkHttpClient之類的Http客戶端對需要訪問的URL進(jìn)行一次請求,取得code

class WebViewStatusRequester extends AsyncTask<String, String, Integer> {@Overrideprotected void onPreExecute() { super.onPreExecute(); web.setVisibility(View.GONE);}@Overrideprotected void onPostExecute(Integer result) { super.onPostExecute(result); if(result == 1) {web.setVisibility(View.VISIBLE); } else if(result == 0) {showLoadFail(); }}@Overrideprotected Integer doInBackground(String... params) { String url = params[0]; if(url.substring(0, 4).equals('file') == false) {try { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url(url).build(); Response response = client.newCall(request).execute(); if(response.isSuccessful()) {return 1; } else {Log.i('TAG', 'fail code:' + response.code());return 0; }} catch (IOException e) { e.printStackTrace();}return 0; } return 1;} }

在這里實際上是Webview和OkHttpClient進(jìn)行了加載,只是AsyncTask跑的時候把WebView隱藏起來了,確認(rèn)是200了就顯示,不是200就顯示加載失敗的頁面

標(biāo)簽: web
相關(guān)文章:
主站蜘蛛池模板: 镇远县| 和林格尔县| 怀安县| 溆浦县| 垣曲县| 陈巴尔虎旗| 始兴县| 威信县| 句容市| 扶风县| 兴义市| 大足县| 渑池县| 时尚| 馆陶县| 沾化县| 和平区| 星子县| 正安县| 呼图壁县| 江津市| 江口县| 郁南县| 米易县| 孝昌县| 托里县| 财经| 沧源| 通河县| 溧水县| 乾安县| 高尔夫| 彭阳县| 平武县| 漳平市| 万全县| 连平县| 松溪县| 册亨县| 汽车| 甘孜县|