最近项目使用到H5与原生交互。然后交互的时候发现部分手机(版本较低的vivo和oppo)用webview加载H5页面是空白加载不出来,用自带的原生浏览器打开,发现也打不开。无奈之际无意发现qq里面可以打开,遂在项目里面使用X5内核Webview.但是在交互使用中发现了几个坑。
1.在js 调用android的回调里面。发现直接调用webview.goback(),无效,但是经过log和断点发现方法执行了。断点调试发现这个webview.goback()会去检测当前线程,所以考虑到可能是子线程,并且这里面执行主线程操作不会报错。,没有错误信息。于是webview.post{wenbiew.goback()}操作执行。顺利执行。
2.在H5里面进行上传图片操作,。X5只有两个方法回调。
如果使用系统目录,每次只能上传一张图片。如果选择自定义图库,基本返回的都是ArrayList<String>,但是方法接受的是<Array<Uri>>,本人使用的是kotlin。。由于新手。没找到ArrayList<String>自动转换成<Array<Uri>>的方法,然后为了实现多图上传,
限制每次最多一次选择9张。完成之后或者没选择图片一定吧mValueCallback进行资源释放,不然下次不会回调。mValueCallback?.onReceiveValue(null),mValueCallback =null










网友评论