首页 > 代码库 > WebView重定向问题的解决方案
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 }
WebView重定向问题的解决方案
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。