這篇文章將為大家詳細(xì)講解有關(guān)Android怎樣獲取WebView加載url的請(qǐng)求錯(cuò)誤碼,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
例如需求,我有一個(gè)WebView 加載一個(gè)url, 該url對(duì)應(yīng)的網(wǎng)頁本身自帶下拉刷新 ,但是網(wǎng)頁本身會(huì)有出現(xiàn)400 500 等異常請(qǐng)求錯(cuò)誤碼
這時(shí)候網(wǎng)頁加載失敗,頁面本身的下拉是無法使用的,要求重新加載頁面的話就需要在webview外層套一個(gè)android下拉控件(SwipeRefreshLayout)
這樣導(dǎo)致下拉一定用的SwipeRefreshLayout的下拉
最終要求是如果頁面加載成功的話,用頁面本身的下拉,如果頁面加載失敗的話,用android下拉控件的下拉
--------------------------------------------------------------------------------------------------------------------------------------------
解決辦法就是監(jiān)聽加載的url的請(qǐng)求的錯(cuò)誤碼,對(duì)SwipeRefreshLayout.setEnabled()
來控制是否允許下拉刷新
監(jiān)聽對(duì)應(yīng)6.0+ 6.0以下 分別為兩種實(shí)現(xiàn)方式:
一、Android 6.0+ 判斷請(qǐng)求碼
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以下 判斷請(qǐng)求碼
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); } } } });
關(guān)于“Android怎樣獲取WebView加載url的請(qǐng)求錯(cuò)誤碼”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)頁名稱:Android怎樣獲取WebView加載url的請(qǐng)求錯(cuò)誤碼-創(chuàng)新互聯(lián)
文章地址:http://aaarwkj.com/article24/dpsije.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、Google、品牌網(wǎng)站制作、網(wǎng)站策劃、微信公眾號(hào)、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容