溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android如何獲取WebView加載url的請(qǐng)求錯(cuò)誤碼

發(fā)布時(shí)間:2021-05-22 11:02:21 來(lái)源:億速云 閱讀:253 作者:小新 欄目:移動(dòng)開(kāi)發(fā)

小編給大家分享一下Android如何獲取WebView加載url的請(qǐng)求錯(cuò)誤碼,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

例如需求,我有一個(gè)WebView 加載一個(gè)url, 該url對(duì)應(yīng)的網(wǎng)頁(yè)本身自帶下拉刷新 ,但是網(wǎng)頁(yè)本身會(huì)有出現(xiàn)400 500 等異常請(qǐng)求錯(cuò)誤碼

這時(shí)候網(wǎng)頁(yè)加載失敗,頁(yè)面本身的下拉是無(wú)法使用的,要求重新加載頁(yè)面的話就需要在webview外層套一個(gè)android下拉控件(SwipeRefreshLayout)

這樣導(dǎo)致下拉一定用的SwipeRefreshLayout的下拉

最終要求是如果頁(yè)面加載成功的話,用頁(yè)面本身的下拉,如果頁(yè)面加載失敗的話,用android下拉控件的下拉

--------------------------------------------------------------------------------------------------------------------------------------------

解決辦法就是監(jiān)聽(tīng)加載的url的請(qǐng)求的錯(cuò)誤碼,對(duì)SwipeRefreshLayout.setEnabled() 來(lái)控制是否允許下拉刷新

監(jiān)聽(tīng)對(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); // 放開(kāi)下拉
          }
          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);
          }
        }
      }
    });

Android是什么

Android是一種基于Linux內(nèi)核的自由及開(kāi)放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國(guó)Google公司和開(kāi)放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開(kāi)發(fā)。

看完了這篇文章,相信你對(duì)“Android如何獲取WebView加載url的請(qǐng)求錯(cuò)誤碼”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI