1. 程式人生 > >WebView重定向問題的解決方案

WebView重定向問題的解決方案

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

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

@Override
public
boolean shouldOverrideUrlLoading(WebView view, String url) { WebView.HitTestResult hitTestResult = view.getHitTestResult(); //hitTestResult==null解決重定向問題 if (!TextUtils.isEmpty(url) && hitTestResult == null) { view.loadUrl(url); return true; } return
super.shouldOverrideUrlLoading(view, url); }