PC上的瀏覽器會彈出證書錯誤的對話框,提示你是否要無視錯誤繼續瀏覽。實際上在WebView里也可以這樣做,以實現加載證書有問題的頁面。
// *** NEVER DO THIS!!! ***
// super.onReceivedSslError(view, handler, error);
// let's ignore ssl error
handler.proceed();
}
}
只需像這樣重載WebViewClient的onReceivedSslError()函數并在其中執行handler.proceed(),即可忽略SSL證書錯誤,繼續加載頁面。
這里要注意的是,千萬不要調用super.onReceivedSslError()。這是因為WebViewClient的onReceivedSslError()函數中包含了一條handler.cancel()(見源碼,其含義是停止加載,所以如果調用了super.onReceivedSslError(),其結果就是第一次訪問時無法加載,第二次以后可以加載(不知道為什么),而且還可能發生libc的段錯誤:
新聞熱點
疑難解答
圖片精選