引子
基于之前的WebView的基本使用,我們在開發過程中可能會遇到各種各樣的需求,那么具體需求就具體處理,那我們就來欣賞這一路的風景,旅途不止,風景無限~~~
-
風景一:原生頁面中的webview跳轉了多個html頁面,需要逐一返回html頁面,最后退出該原生頁面。
這個比較常見,還是總結一下,重寫該原生頁面的返回監聽事件(一般就是在實體返回按鍵和頭部返回處處理)見代碼:
//實體返回按鍵監聽事件
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
handleWebViewGoBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
//封裝具體的處理方法,以便在多個返回監聽事件中處理
private void handleWebViewGoBack() {
if (webView.canGoBack()) {//是否還可以返回,如果可以
webView.goBack();
} else {
finish();
}
}
一直以為回退固定的頁數這個方法很雞肋,結果業務功能真的用到了,這里將相關前進回退功能都貼出吧:
//是否可以后退
Webview.canGoBack()
//后退網頁
Webview.goBack()
//是否可以前進
Webview.canGoForward()
//前進網頁
Webview.goForward()
//是否可以前進或者后退多少歩(依然正為可進,負為可退)
WebView.canGoBackOrForward(int steps)
//以當前的index為起始點前進或者后退到歷史記錄中指定的steps
//如果steps為負數則為后退,正數則為前進
Webview.goBackOrForward(intsteps)
-
風景二:webview加載https鏈接(終極解決方案,包括https鏈接加載http圖片顯示失敗)
原文地址:webview加載https鏈接