您好,登錄后才能下訂單哦!
小編給大家分享一下Android如何獲取WebView加載url的請求錯誤碼,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
例如需求,我有一個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是一種基于Linux內核的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。
看完了這篇文章,相信你對“Android如何獲取WebView加載url的請求錯誤碼”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。