webview重定向終極解決方案

問題:第三方重定向鏈接在APP內部無法返回退出

通過網上收集驗證:這些方式都是有缺陷的

1、WebView.HitTestResult爲空方式

2、自定義ArrayList收集加載url

解決方案:

注意:shouldOverrideUrlLoading攔截中不僅僅返回false,中間自生不能view.loadUrl加載,全部交給系統處理

1、導致系統重定向失誤寫法
webView.setWebViewClient(new WebViewClient() {
	@Override
	public boolean shouldOverrideUrlLoading(WebView view, String url) {

		view.loadUrl(url);
		return true;
	}
});

2、正確寫法
webView.setWebViewClient(new WebViewClient() {
	@Override
	public boolean shouldOverrideUrlLoading(WebView view, String url) {

        //view.loadUrl(url); //禁止放開此段代碼註釋,否則導致重定向失效

        //轉發交給webview自己處理
		return false;
	}
});

萬萬沒有想到解決重定向問題,就在shouldOverrideUrlLoading中處理,我們更加深刻解析此方法的返回值用法。

參考網站:

0、http://www.benjyair.com/2014/11/11/%E5%85%B3%E4%BA%8EWebView%E5%9B%A0url%E9%87%8D%E5%AE%9A%E5%90%91%E8%80%8C%E5%AF%BC%E8%87%B4%E6%97%A0%E6%B3%95goBack%E7%9A%84%E9%97%AE%E9%A2%98/

1、https://www.jianshu.com/p/3474cb8096da

2、https://www.jianshu.com/p/7dfb8797f893

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章