Android WebView重定向問題的解決方案


當WebView在加載網頁時,有時會有重定向問題,返回鍵回退怎么也回退不掉,怎么辦?

WebView有一個getHitTestResult():返回的是一個HitTestResult,一般會根據打開的鏈接的類型,返回一個extra的信息,如果打開鏈接不是一個url,或者打開的鏈接是JavaScript的url,他的類型是UNKNOWN_TYPE,這個url就會通過requestFocusNodeHref(Message)異步重定向。返回的extra為null,或者沒有返回extra。根據此方法的返回值,判斷是否為null,可以用於解決網頁重定向問題。

 1 @Override
 2 public boolean shouldOverrideUrlLoading(WebView view, String url) {
 3         WebView.HitTestResult hitTestResult = view.getHitTestResult();
 4     //hitTestResult==null解決重定向問題
 5     if (!TextUtils.isEmpty(url) && hitTestResult == null) {
 6             view.loadUrl(url);
 7     return true;
 8         }
 9     return super.shouldOverrideUrlLoading(view, url);
10 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM