最近项目要接入一个H5页面,其中一个页面出现选择省市区的选择框,我怎么点怎么弹不出这个选择框。。后来在PC端浏览器中打开了该页面,并检查元素发现这是一个select标签,于是。。。
如果H5页面有一个select标签,android中的webview点击时会默认拉起一个原生的选择框,当我在6.0以上的机型点击时,会直接崩溃,查看了错误日志
|
|
错误的原因是Dialog在show的时候必须要有一个activity作为窗口载体,上面的日志的意思是承载Dialog的activity已经被销毁了,所以会直接崩溃。
其实解决的办法也是很简单的
1.权限问题
|
|
上面这两个权限是必须的,上面两个权限不需要动态申请。
2.检查webview初始化的时候,是用哪个context上下文初始化的。(!!!!)
这点非常重要,因为需要的activity作为载体,所以必须要使用当前activity的context,而不能使用Application的context,之前我用的就是Application的context发现还是弹不出选择框,再仔细检查改正后才解决问题。