Android webview加载H5页面调起微信支付
场景
一个H5的页面,需要在app内用webview展示,然后涉及到支付,要求能够调用微信支付来付款,页面没有问题,但是写完出现了一些问题。
问题
页面不显示,展示空白
需要设置:
webSettings.setDomStorageEnabled(true);
否则,一些节点不支持显示,建议都加上这一句,并设置为true。
点击支付调不起微信
因为,webview支持http和https的scheme,我们知道微信的schem是weixin://
,所以我们需要拦截这个url,并手动处理。
需要我们重写:
webView.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {if (url.startsWith("weixin://wap/pay?") || url.startsWith("http://weixin/wap/pay")) {try {Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setData(Uri.parse(url));startActivity(intent);} catch (ActivityNotFoundException e) {// 处理错误}return true;} return true;}@Overridepublic void onReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error) {//重写此方法可以让webview处理https请求handler.proceed();}});
跳转微信,报参数错误,联系商户
这个在微信的文档里写的很清楚:
if (url.startsWith("weixin://wap/pay?") || url.startsWith("http://weixin/wap/pay")) {try {Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setData(Uri.parse(url));startActivity(intent);} catch (ActivityNotFoundException e) {//处理错误}return true;} else {Map<String, String> extraHeaders = new HashMap<>();extraHeaders.put("Referer", "商户域名");view.loadUrl(url, extraHeaders);}return true;
就是添加extraHeaders.put("Referer", "商户域名");
这一句,key为Referer,value为你跳转支付的商户域名。
以上!
Android webview加载H5页面调起微信支付相关推荐
- 前端如何在H5页面调起微信支付
在微信服务号开发的时候经常会遇到微信支付的功能实现,通过实际经验自己总结了一下,前端在H5页面调起微信支付有两种办法,一是利用内置对象,二是通过引用微信的js sdk,亲测都能支付成功,从写法上来看用 ...
- 鸿蒙系统中的 WebView 加载H5页面出现net::ERR_CLEARTEXT_NOT_PERMITTED的解决方法
目前在学习鸿蒙系统开发相关的应用,在加载H5页面的时候,在页面上显示出现这也错误提示 net::ERR_CLEARTEXT_NOT_PERMITTED,百度了一番,显示的结果都是在安卓系统上的解决办法 ...
- webView加载H5页面出现空白页的解决办法
最近在做一个理财的项目,其中用到的H5页面比较多,在项目后期出现了很多bug,今天介绍下webView加载H5出现空白的解决办法 首先介绍下出现问题的场景,我们在一个Activity中镶嵌了一个H5的 ...
- Android WebView加载H5音视频自动播放、关闭Activity停止播放
在Android加载H5,实现H5中的音视频自动播放 在Activity中添加代码: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELL ...
- flutter 中使用 WebView加载H5页面异常net:ERR_CLEARTEXT_NOT_PERMITTED
最近有个flutter项目中根据搜索结果跳转到相应的H5页面发现老是报错,曾现在闲暇拉出来解决哈 先来看一个搜索功能的测试 已进入详情页面就提示错误,尴尬了. 只有去检测代码了撒 Search.dar ...
- 解决Android Webview 加载html页面空白问题
问题描述 网页在浏览器中可以打开 网页在ios中可以打开 网页F12进入手机模式可以浏览 代码可以加载除此之外一切链接,并显示出来 网页链接是https 网页在android中确是一片空白 问题解决 ...
- iOS12 系统 webView加载H5页面,反复点击网页中视频播放 退出视频全屏 闪退解决方式。
iOS 12系统webView 对H5播放器 有不兼容迹象,如果加载的H5视频是全屏播放的,频繁切换容易造成闪退. 在这个时候,就需要 前端 和 后台一起协商 解决这个问题. 其实这个问题很容易解决的 ...
- 关于WebView加载H5页面下载文件和下载完毕后自动打开文件
前段时间有个项目需要在H5页面里下载文档文件,由于项目需求这里采用Android系统自带DownloadManager来进行后台自动下载管理,我们只需要稍微设置几个参数就进行文件下载了,并且下载进行时 ...
- Android WebView加载h5打开麦克风与摄像头的权限问题
目录 快速处理 app向系统申请录音与相机权限 h5向app申请录音和相机权限 详细解答 app权限与h5权限 录音与麦克风 默许的风险 最佳实践 Android webview h5 麦克风权限,摄 ...
最新文章
- 通过关闭swap来提高win7运行速度
- Android Studio第十九期 - Glin架构
- 【Linux】一步一步学Linux——route命令(169)
- 专题2-通过按键玩中断\第1课-中断处理流程深度剖析-lesson1
- JSLint Error 之 Don't make functions within a loop
- 【零基础学Java】—继承父类并实现多个接口(二十五)
- php 对象数组的使用方法,php数组与对象的操作方法
- 数据结构与算法:十大排序算法之插入排序
- tiny6410裸机编程-----Timer (1)
- C#录制声卡声音喇叭声音音箱声音
- excel教程自学网_收藏!这37个自学网站,一年让你省下十几万
- android wear2.0 更新,又一批手表获得Android Wear 2.0更新
- 计算机系统运用的科学原理,人工智能的工作原理是什么?
- MikTex中如何使用BibTeX添加参考文献
- ipv6的127位掩码如何表示_计算机子网掩码知识举例详解
- IBIS模型:利用IBIS模型研究信号完整性问题
- c语言中出现void错误,关于C语言问题
- 小米电视4显示android,全面分析小米电视盒子好用吗?小米电视盒子4体验评测分享...
- 罗斯柴尔德投资公司增加对GBTC的投资
- CMWAP和CMNET 的区别与适用范围
热门文章
- nodejs 监控微信公众号关注事件推送
- [矩阵的三角分解系列四] 乔累斯基(Cholesky)分解公式
- 【Java编程系列】Java判断世界各时区的夏令时、冬令时
- 1688/阿里巴巴/拼多多API接口信息大全
- 关于“项目经理”面试遇到“敏捷开发”问题的回答的一点参考
- 免费手机网站自助建站平台推荐
- JXL(JXLS)的使用:java中操作Excel的解决方案之一。
- 大尺度衰落matlab,31 大尺度衰落和信道建模 - read.doc
- 怎样用云服务器搭建一款可以多人联网的传奇手游
- 大公司 or 小公司,你要怎么选?