天天看点

android 系列问题记录(webview加载黑屏,页面不跳转,闪退等)

1、原始问题,android扫描二维码跳转到指定页面之后,定位信息不能正常获取,其它页面能正常获取到定位信息,纠结好半天,代码完整对比了一变,没啥不同的地方,最后发现是相关Activity没有集成phonegap的相关接口类(一定要注意调用第三方接口别忘了继承)。此时位置信息能正常获取,以为万事大吉,殊不知出现了第二个问题(蛋疼);

2、正常获取位置信息后,页面通过webview.load(url)后,页面不会跳转,一只保存在当前页面,后经过详细盘查,发下url获取的一直是同一个,重写同事url获取方法以及加载方法,但还是不会跳转,log日志输出地址已经改变,继续蛋疼中,,,,

3、继续接着重写setWebViewClient()方法,内部修改了无数次,也重写过shouldOverrideUrlLoading(WebView view, String url),在方法内部输出日志,每次的url都不一致,但不跳转,最后无奈注释了重写的整个setWebViewClient()方法,直接用android默认方法,结果居然能正常跳转了(卧槽);

以下是后面出现的问题:

4、后台日志会输出CordovaWebView:TIEMOUT ERROR这个错误,一般我们的处理方式为添加如下:super.setIntegerProperty("loadUrlTimeoutValue",1000);1000为毫秒,可以根据自己情况设置,但是设置时间一到,app会弹出错误:Application ERROR,导致app闪退,最后无奈又在onCreate()方法后添加onReceivedError(int arg0, String arg1, String arg2)方法,方法内部不需做任何处理,错误解决;

2017-05-05更新

在之前的基础上又出现了个问题,加了上面问题4的处理方式后,webView加载url的时候会出现黑屏的情况,最后又把重写的整个setWebViewClient()方法注释掉了,结果正常跳转了,黑屏消失;

(此处的问题在另一个项目,所以还是根据实际情况处理)

真是一波三折

分析:以上三问题,一二都找到原因,注意仔细盘查这两个地方,第三个问题不知道什么原因,MainActivity里面需要重写setWebViewClient()方法才行,但后面的这个Activity重写就不正常,具体为啥还不知道是啥原因导致!

另外说明:几个人同时写的时候,最后集成确实有点蛋疼,还得去排查是否是哪里的问题导致!

继续阅读