问题:H5 url 通过Android webview调用微信支付,失败窗口不消失
原因:微信网页会动态调整webview的高度
解决方式:实现webview ,重写最大高度为1,见下方代码
官方参考文档:微信H5支付

/*
* <p>
* 解决h5通过webview容器调用微信支付,微信支付会动态设置webview的宽和高,影刺在这里设置最大高度
* </p>
*/
class WxPayWebView(context: Context, attrs: AttributeSet? = null) : CoreWebView(context, attrs) {
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
setMeasuredDimension(measuredWidth,1)
}
}
博客介绍了在H5页面通过Android WebView调用微信支付时遇到的问题:支付失败后窗口无法消失。原因是微信支付过程中会动态调整WebView的高度。解决方法是自定义一个名为WxPayWebView的类,重写onMeasure方法,将最大高度设置为1。这样做可以避免因微信动态设置高度导致的显示异常。参考了官方的微信H5支付文档进行修复。
1025

被折叠的 条评论
为什么被折叠?



