首先这些机型报错是提示插件初始化失败,请先检查网络,然后重启应用。查看代码发现是TbsState监听失败,所以考虑是不是权限请求问题,在android6.0前,所有的权限都只需要在Manifest中写,在6.0后推出了运行时权限。用户不必再安装软件时就授权所有的权限,而是在运行时需要用到什么权限就申请什么权限。所以我增加了运行时权限的代码,然后就可以了,但是打包到sit测试时,发现不能每次都成功,有时候还是会复现缺陷,然后得重装以后才能使用。
查找资料发现很多人使用时遇到了坑。在Application 的onCreate方法中 X5内核在第一次安装初始化过程中,初始化时间大概是30秒左右,此时程序不能杀死,也不能直接去尝试打开pdf ,也不能去尝试使用webview打开网页 直到看到Log 出现 “加载内核是否成功:true ” 然后去使用X5内核(理解为第一次初始化会去下载所需文件到程序内一些内容, 中途杀死程序,会造成文件下载不完全 ,第二次启动程序后因为文件下载了部分,不会在去尝试下载全部文件了,X5内核就会频繁加载失败,所以中途失败,要卸载了程序,重新安装去加载X5内核文件)。
当前我们只有在需要浏览文件时才会去初始化组件。所以尝试在应用初始化还没创建webview时就初始化X5内核。在application的oncreate方法中调用下面的初始化方法
/**************腾讯X5webview**************/
private void initX5WebView() { //使用腾讯x5 webview,解决安卓原生wenview不适配不同机型问题
//搜集本地tbs内核信息并上报服务器,服务器返回结