关于webview中的H5微信支付返回白屏的
来源:互联网 发布:去哪里学淘宝运营 编辑:程序博客网 时间:2024/06/08 06:41
废话不多说,也不绕弯子,直接将重点。
白屏为啥会白屏,Activity中的我不知道会不会白屏,我的webview是在fragment中的。我运行微信官方的demo,他的都没有白屏,我的就白屏了。
直到后来我无意间打上了fragment的部分生命周期的方法,发现了其中的端倪。每次要微信支付的时候他会走onPause这个方法,等微信支付,测试1分钱,返回回来的时候
他走了onResum这个方法(现在暂时讲能正常支付成功流程的,中途取消支付的情况先不考虑)。很好这是重点。
如何你发现你现在的webview项目微信支付会白屏,那么相信你应该是用过
onPageFinished这个方法来检测webview加载的最终地址,那么实际上会发现,进到微信支付的时候,地址其实还走了一次(这个地址就是你微信支付回调的地址),这个是关键二,反正我的情况是这样的,进入到微信支付的时候,会再走一次微信支付回调的地址,我还没支付完成它就先走了!!坑爹就在这。很好,既然是支付,那么你的url地址里面肯定会有订单号之类的,对就是你们服务端设定的规则,不管是支付宝还是微信支付,这个订单号都不会变。而webview的h5微信支付会白屏,就是提前走了回调的地址,这个地址你可以用上面的方法看到,里面包含订单号。
重点来了,我们在调微信支付的时候截取订单号在onPause方法中,之前微信支付白屏时候获取到微信支付时候会多走一次时候的url地址拿出来放在onResume方法里面,然后拼接上在走onPause方法时候获取到的订单号之类的东西(我们服务端只有订单号,观察你们的支付地址,把会变的参数全部保存下来),然后在onresume方法里面拼上去。onresume里面加载的地址是原来微信支付时候,webview会多走一次的那个地址!!!解决问题!!
这里说明一点,当微信支付的时候点取消的时候,这个我还没找到解决的办法,上面的方法是正常支付,并且支付成功时候解决白屏的方案。
阅读全文
0 0
- 关于webview中的H5微信支付返回白屏的
- WebView调用微信H5支付
- android webview 调用微信 h5 支付方式
- android WebView套壳 H5微信支付
- 微信支付 h5
- h5微信支付
- 微信h5支付
- 微信H5支付
- 微信h5支付
- 微信支付 h5 支付
- 关于使用webView调起微信h5支付的问题
- 微信H5支付的业务流程
- 非微信浏览器的微信H5支付
- 关于微信支付返回-1的浅谈
- 关于微信支付由H5页面修改为类似于微信支付手机充值的效果
- Android WebView 微信和支付宝H5调用本地app支付
- 关于微信支付(H5获取openid)
- 关于微信H5公众号支付我们踩过的坑(get_brand_wcpay_request:fail)
- ETH挖矿【解决A卡DAG掉算力教程】
- 关于Java数据库中的一点小知识
- bitmap
- 图——哈夫曼编码
- 7-3 jmu-ds-单链表的基本运算
- 关于webview中的H5微信支付返回白屏的
- python-bool
- Tmux 终端命令行介绍
- Python学习笔记----函数
- 加载虚拟机vmdk文件报错
- 填坑之路:记一次hive外部表查询hbase的long类型数据出现乱码问题
- 线程池之工作原理
- JAVA从入门到基础(四) 一 GC算法与种类
- SSM框架下Mysql主从模式实现