WebView启动支付宝客户端支付失败的解决办法
目前在做一个用App加载H5网页,然后在网页中调起支付宝客户端支付,蚂蚁金服的开发文档上明确写有支付宝支持手机网站支付,所以那就集成呗,但是做完之后出现了一个问题,不知道是不是Android端集成出现了细节问题,然后再使用支付的时候,支付宝客户端具有一定的失败率,所以失败了只能采用收银台支付,虽然可以实现支付,但是体验方面还是达不到公司的要求。
在H5中启动支付宝我们可以看到这个界面
他说他在尝试打开,其实也就是在检测是否安装的支付宝客户端,但是不知道为什么,有时候会失败,然后就只能走收银台了,但是收银台是需要登录的,所以体验方面不是很好,但是我尝试在浏览器上访问url的时候,调起支付宝客户端就可以的,不会出现失败的情况,看来我们得想办法借用浏览器的能力来启动支付宝了。
本地用的是webview,所以拦截url还是比较方便的,通过打印url,发现有一个url是这样的alipays://platformapi/startApp?
这个就是检测的程序了,然后我们在WebView中加入这样一句话:
public boolean shouldOverrideUrlLoading(WebView view, String url) {if (url.contains("alipays://platformapi")){Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));startActivity( intent );}else{view.loadUrl(url);}return false;
}
意图很明显,在检测是否安装支付宝的时候,借用浏览器的能力来启动支付宝,这样效果真的不错,然后你就会看见这样一个页面:
支付宝文档(官方权威解释)
用上述方式做完之后,感觉有点不安,感觉并不是使用正规的渠道来实现的,然后又看了看支付宝的APP支付文档,中间有一个功能叫做其他接入。
支付宝其实也早就准备了这个功能,但是唯一的区别就是,这个手机网站转原生的实现,我是借助了自带浏览器,而他的实现是webview和js进行交互,拦截url,然后交给支付宝的SDK去处理,原理还是离不开他的SDK,所以他的实现方式比我的这种要麻烦一点,但是绝对权威,这点毫无疑问,所以看自己怎么选择了。
元旦加班,唉!!!
WebView启动支付宝客户端支付失败的解决办法相关推荐
- WebView启动支付宝客户端支付失败
本文转载:http://blog.csdn.net/u014752325/article/details/53976422 目前在做一个用App加载H5网页,然后在网页中调起支付宝客户端支付,蚂蚁金服 ...
- 安装VS.net2003时 microsoft Frontpage 2000 web 扩展客户端安装失败的解决办法
安装VS.net2003时突然报错, microsoft Frontpage 2000 web 扩展客户端安装失败,在网上找了一个解决方法,验证此方法可行. 原因是缺少系统文件,Ghost XP文件不 ...
- linux mysql关闭启动不了了,linux启动或关闭mysql失败的解决办法
linux启动或关闭mysql时提示:Warning: World-writable config file '/etc/my.cnf' is ignored. 什么鬼? 意思是: 警告:全世界都能写 ...
- WebView支付宝wap支付转支付宝客户端支付
android WebView支付宝wap支付转支付宝客户端支付重写WebViewClient的以下方法即可.可参考 支付宝平台文档商户APP的WebView处理alipays协议 public bo ...
- iOS H5原生WKWebView调起支付宝客户端支付方案
iOS H5原生WKWebView调起支付宝客户端支付方案 问题描述: 安卓直接WebView加载上面的URL直接可完成跳转支付宝弹出支付界面: iOS WKWebView加载这个URL,只是单纯加载 ...
- linux装oracle11g启动失败,Oracle11GSELinux原因启动失败的解决办法
OS:Oracle-Enterprise-R5-U2-Server-i386Oracle:linux_x86_11gR1_databaseERROR:sqlplus: error while load ...
- phphstudy运行不了网站_phpStudy访问速度慢和启动失败的解决办法
下面给大家介绍phpstudy访问速度慢的解决办法. 1.修改mysql数据库链接地址为ip地址127.0.0.1. 2.使用最新版本,这个坑了我好久时间. 下面一段内容是关于phpstudy启动失败 ...
- apmserv5.2.6 mysql启动失败_win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法...
win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法 1.APMServ程序所在路径不能含有汉字和空格.例子:D:\r\APMServ5.2.6\ 2.去掉 ...
- 关于VMware虚拟机安装失败的解决办法,报错(29142)或者安装系统后无法启动
关于VMware虚拟机安装失败的解决办法,报错(29142)或者安装系统后无法启动 如果首次安装,那么安装前要检查,cpu是否开启虚拟化,hyper是否关闭 1.查看cpu是否开启虚拟化 注意: 1. ...
- win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法
win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法 1.APMServ程序所在路径不能含有汉字和空格.例子:D:\r\APMServ5.2.6\ 2.去 ...
最新文章
- 字符串翻转的两种方法(C++版本)
- UVA11732 strcmp() Anyone?
- js正则验证特殊字符
- BCH将于9月1日进行压力测试
- [javaEE] response实现图片下载
- unix executable file
- 2019.03.20 mvt,Django分页
- 阿波罗配置中心(apollo)的个人看法
- 我的世界服务器玩家在线指令,我的世界服务器中玩家间的传送功能 | 我的世界 | MC世界侠...
- 对过去css+div的总结
- 图解TCPIP-IP 网际协议-路由控制
- extjs ueditor 图片_Ext整合ueditor示例
- 小程序常用的10款框架
- 台式计算机运行慢怎么样能提高速度,如何提高电脑的运行速度,让电脑快起来!...
- NAR|DREAM:编码RNA和药物关联的数据库
- CentOS7.5安裝配置多协议下载器Aria2
- Linux LVM全面实践
- stp转obj, stp转stl转换小工具
- 《分布式JAVA应用 基础与实践》 第六章 构建高可用的系统
- 快手上市 CEO写下70万行代码 致敬程序员改变世界
热门文章
- 有多少旅游企业入驻了抖音平台?有多少抖音用户喜欢看旅游视频?
- 读书随笔(6)密码恢复
- 9款非常适合Sketchup的渲染插件以及优点介绍
- C++名称查找与ADL
- 重试利器之Guava Retrying
- 沉没的王国---揭秘滇东自杞国(2)
- java开发季度绩效自评,季度绩效考核英文自我评价
- python 抓取 实时公交_Python实现命令行监控北京实时公交之一
- sci计算机论文发表论文格式,SCI论文发表的格式以及字体的要求是什么?
- CentOS 7.4安装配置Oracle 12cR2 12.2.0.1.0