场景

一个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页面调起微信支付相关推荐

  1. 前端如何在H5页面调起微信支付

    在微信服务号开发的时候经常会遇到微信支付的功能实现,通过实际经验自己总结了一下,前端在H5页面调起微信支付有两种办法,一是利用内置对象,二是通过引用微信的js sdk,亲测都能支付成功,从写法上来看用 ...

  2. 鸿蒙系统中的 WebView 加载H5页面出现net::ERR_CLEARTEXT_NOT_PERMITTED的解决方法

    目前在学习鸿蒙系统开发相关的应用,在加载H5页面的时候,在页面上显示出现这也错误提示 net::ERR_CLEARTEXT_NOT_PERMITTED,百度了一番,显示的结果都是在安卓系统上的解决办法 ...

  3. webView加载H5页面出现空白页的解决办法

    最近在做一个理财的项目,其中用到的H5页面比较多,在项目后期出现了很多bug,今天介绍下webView加载H5出现空白的解决办法 首先介绍下出现问题的场景,我们在一个Activity中镶嵌了一个H5的 ...

  4. Android WebView加载H5音视频自动播放、关闭Activity停止播放

    在Android加载H5,实现H5中的音视频自动播放  在Activity中添加代码: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELL ...

  5. flutter 中使用 WebView加载H5页面异常net:ERR_CLEARTEXT_NOT_PERMITTED

    最近有个flutter项目中根据搜索结果跳转到相应的H5页面发现老是报错,曾现在闲暇拉出来解决哈 先来看一个搜索功能的测试 已进入详情页面就提示错误,尴尬了. 只有去检测代码了撒 Search.dar ...

  6. 解决Android Webview 加载html页面空白问题

    问题描述 网页在浏览器中可以打开 网页在ios中可以打开 网页F12进入手机模式可以浏览 代码可以加载除此之外一切链接,并显示出来 网页链接是https 网页在android中确是一片空白 问题解决 ...

  7. iOS12 系统 webView加载H5页面,反复点击网页中视频播放 退出视频全屏 闪退解决方式。

    iOS 12系统webView 对H5播放器 有不兼容迹象,如果加载的H5视频是全屏播放的,频繁切换容易造成闪退. 在这个时候,就需要 前端 和 后台一起协商 解决这个问题. 其实这个问题很容易解决的 ...

  8. 关于WebView加载H5页面下载文件和下载完毕后自动打开文件

    前段时间有个项目需要在H5页面里下载文档文件,由于项目需求这里采用Android系统自带DownloadManager来进行后台自动下载管理,我们只需要稍微设置几个参数就进行文件下载了,并且下载进行时 ...

  9. Android WebView加载h5打开麦克风与摄像头的权限问题

    目录 快速处理 app向系统申请录音与相机权限 h5向app申请录音和相机权限 详细解答 app权限与h5权限 录音与麦克风 默许的风险 最佳实践 Android webview h5 麦克风权限,摄 ...

最新文章

  1. 通过关闭swap来提高win7运行速度
  2. Android Studio第十九期 - Glin架构
  3. 【Linux】一步一步学Linux——route命令(169)
  4. 专题2-通过按键玩中断\第1课-中断处理流程深度剖析-lesson1
  5. JSLint Error 之 Don't make functions within a loop
  6. 【零基础学Java】—继承父类并实现多个接口(二十五)
  7. php 对象数组的使用方法,php数组与对象的操作方法
  8. 数据结构与算法:十大排序算法之插入排序
  9. tiny6410裸机编程-----Timer (1)
  10. C#录制声卡声音喇叭声音音箱声音
  11. excel教程自学网_收藏!这37个自学网站,一年让你省下十几万
  12. android wear2.0 更新,又一批手表获得Android Wear 2.0更新
  13. 计算机系统运用的科学原理,人工智能的工作原理是什么?
  14. MikTex中如何使用BibTeX添加参考文献
  15. ipv6的127位掩码如何表示_计算机子网掩码知识举例详解
  16. IBIS模型:利用IBIS模型研究信号完整性问题
  17. c语言中出现void错误,关于C语言问题
  18. 小米电视4显示android,全面分析小米电视盒子好用吗?小米电视盒子4体验评测分享...
  19. 罗斯柴尔德投资公司增加对GBTC的投资
  20. CMWAP和CMNET 的区别与适用范围

热门文章

  1. nodejs 监控微信公众号关注事件推送
  2. [矩阵的三角分解系列四] 乔累斯基(Cholesky)分解公式
  3. 【Java编程系列】Java判断世界各时区的夏令时、冬令时
  4. 1688/阿里巴巴/拼多多API接口信息大全
  5. 关于“项目经理”面试遇到“敏捷开发”问题的回答的一点参考
  6. 免费手机网站自助建站平台推荐
  7. JXL(JXLS)的使用:java中操作Excel的解决方案之一。
  8. 大尺度衰落matlab,31 大尺度衰落和信道建模 - read.doc
  9. 怎样用云服务器搭建一款可以多人联网的传奇手游
  10. 大公司 or 小公司,你要怎么选?