android web打开微信支付功能,android webview拉起微信h5支付错误解决办法
这里坑比较深.网上说的方式也大多没有用.不废话带你解决
1.遇到的问题大概就"商家参数错误";"空白页";"系统繁忙"等等吧
2.问题解决:商家参数错误就是因为没有加Map载loadUrl时候要配置一个Map.key是指定的,url是授权域名
Map map = new HashMap<>();
map.put("Referer", "http://......");
3.直接用webview去load部分机型可行,因为内核限制的就不行了
4.最终解决方式如下
Map map = new HashMap<>();
map.put("Referer","http://....");
WebView webView = ((WebView) findViewById(R.id.webview));
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDefaultTextEncodingName("UTF-8");
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.setWebChromeClient(new WebChromeClient());
WebViewClient webViewClient = new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 如下方案可在非微信内部WebView的H5页面中调出微信支付
if (url.startsWith("weixin://wap/pay?")) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
} else {
Map extraHeaders = new HashMap();
extraHeaders.put("Referer", "http://wxpay.wxutil.com");
view.loadUrl(url, extraHeaders);
}
return true;
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error) { // 重写此方法可以让webview处理https请求
handler.proceed();
}
};
webView.setWebViewClient(webViewClient);
webView.loadUrl("https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=...", map);
android web打开微信支付功能,android webview拉起微信h5支付错误解决办法相关推荐
- Android:调用其他程序中的activity和Permission Denial: starting Intent 错误解决办法
今天想调试多个task中栈的情况,在测试程序中调用另一个程序的activity, 代码片段如下: [java] view plain copy btnStartX=(Button)findViewB ...
- android 苹果支付,谷歌Android M借鉴苹果?新增移动支付功能Android Pay
原标题:谷歌Android M借鉴苹果?新增移动支付功能Android Pay 谷歌Android M借鉴苹果?新增移动支付功能Android Pay [TechWeb报道]5月29日消息,谷歌在美国 ...
- Android支付SDK开发在App中调起H5支付的实现
在Android开发中支付很常见,但是要实现原生调起H5支付很少,之前做App支付也踩过不少坑,App调起H5支付同样坑很多,这里说说App调起H5支付的实现方式和问题. 1.App中调起WebVie ...
- 【Unity3D】Android 打包 ④ ( Android 工程打包 | Unity 中导出安卓工程 | Android Studio 打开 Unity 导出的 Android 工程 )
文章目录 一. Android 工程打包 二. Android Studio 打开 Unity 导出的 Android 工程 一. Android 工程打包 Android 工程打包 就是将 Unit ...
- android 生成泛型对象,java android解析多层含有泛型对象的json数据获取不到泛型类型解析失败解决办法...
####问题描述 * java 解析多层含有泛型对象的json数据获取不到泛型类型 * 如果将泛型改成实际的类型就能正常解析 * 如果不改成实际的类型泛型数据被解析成com.google.gson.i ...
- 微信隐藏功能系列:动态的微信状态是怎样设置的
微信是什么?微信是现在社会中最常用的聊天社交软件,工作.闲聊.甚至是打电话等等几乎都已经能在微信上面实现了,可以说是日常必备.大家知道微信隐藏功能吗?动态的微信状态是怎样设置的? 微信可不仅仅只是一款 ...
- 微信朋友圈+html+字体颜色,微信新功能 酷炫的彩色微信名字 朋友圈彩色昵称设置方法...
原标题:微信新功能 酷炫的彩色微信名字 朋友圈彩色昵称设置方法 这几天有几位微民们问小编,说看到朋友的微信昵称变成了彩色字体,好奇这怎么回事,觉得非常好玩,那怎样才可以设置彩色字体呢? 希望小编能教大 ...
- 百度地图 测距功能 DistanceTool 在不同浏览器下标注不一致的解决办法,打开新地图测距不生效的解决办法
1. 在项目中用到百度地图的测距功能,在主页面的地图中用没问题,如果从主页的地图跳转到详情页的地图,在返回到主页,打开地图的测距功能,测距一直不显示.下面是解决办法 将测距功能的工具类函数下载到本地, ...
- Android编译出现com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536错误解决办法
踩过的坑, 以下操作,必须在app module中进行. ========================================== ** Android编译出现com.android.de ...
- 微信公众号开发redirect_uri 参数错误 的解决办法,Oauth2授权重定向域名参数错误解决办法
问题概述 关于这个问题,博主是在进行微信公众号开发过程中获取微信公众号CODE用于下一步验证获取openid和access_token时遇到的, 回调地址: " https://open.w ...
最新文章
- 提取变异的转录组序列
- java 接口 this参数_Java BiFunction 接口实例
- Hibernate使用最新的MySQL8.+版本出现的问题!
- 使用ORM提取数据很容易! 是吗?
- 子元素的margin-top会影响父元素
- java invoke 泛型_利用Java反射机制和泛型,全自动解析json
- 白帽子也能迎娶白富美:2017八大高薪信息安全认证
- HTML 标签参考手册 - 功能排序
- 采用Trench肖特基二极管,实现功率密度的显著提升
- 为什么晚睡晚起的人会更聪明?
- 视觉测量—结构光标定1
- 为什么大部分人,会对南北经济“差距”产生误解?
- Spark RDD的Transformation操作
- apache评分表的意义_APACHE评分系统及评分表 -
- 黑马JAVA P41 for循环案例3
- AI视频换脸方向论文阅读
- 微信公众平台开发(1)验证TOKEN源码
- [电路笔记------信号的分贝含义]
- SSL基础:4:使用openssl生成ssh的非对称密钥对
- LINUX ECHO 颜色
热门文章
- 分布式跟踪系统(一):Zipkin的背景和设计
- 畅想 Serverless 新托管时代,2020 年迎来哪些新机会?
- 高频曝光背后:恒大造车的工匠精神与“发动机效应”
- matlab设计一个三角波合成实验,(精选)信号与系统实验(MATLAB 西电版)实验10 周期信号的合成与分解课件.ppt...
- 鼠标悬浮给图片加边框,适合大型展示
- 音乐播放器获取音乐列表
- dpdk内存管理之rte_eal_hugepage_init()函数分析
- Android打造专有Hook第三篇,实战全量代码规范检查
- Thymeleaf简要介绍
- 设计模式之软件设计原则篇