最近在做混合式开发,用到webView的时候遇到了如下两个问题:
1、在Android 6.0 上,webView第二次载入时显示为空白;
2、在Android 6.0上,调用WebView的 loadUrl加载页面后Javascript 脚本正常(location.href指向的链接可跳转),点链接后在WebViewClient 的shouldOverrideUrlLoading 方法中对URL分析,并开启新Activity处理URL 中包含的信息,关闭新Activity再返回WebView所在Activity,webView不能滑动,但是可以点击跳转;
经版主目前测试所得,以上两个问题仅在Android 6.0上会出现,如有其它机型出现以上问题,欢迎告知。下面来看看版主的解决办法:
开始,版主为了不影响App版本的发布,采用了较为SB的方法解决上述第一个问题,就是将Android版本区分开来处理,具体代码如下:
if (version >= 23) {
mRootView = mInflater.inflate(R.layout.fragment_wappage, null);
doOnCreateView();
}else{
if (mRootView == null) {
mRootView = mInflater.inflate(R.layout.fragment_wappage, null);
doOnCreateView();
}
后来为了解决第二个问题,版主跋山涉水的找到了较为明智的解决办法,即:
分别在Activity的onResume和onPause事件方法中调用WebView的onResume和onPause方法
具体代码如下:
@Override
public void onPause() {
super.onPause();
webView.onPause();
}
其他的类似!
以上就是版主小菜鸟解决这两个问题的办法,如果大家有其他的问题,或者有其他更好的解决办法,请留言,版主会再第一时间给予大家回复,谢谢!