目前在做一个用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启动支付宝客户端支付失败的解决办法相关推荐

  1. WebView启动支付宝客户端支付失败

    本文转载:http://blog.csdn.net/u014752325/article/details/53976422 目前在做一个用App加载H5网页,然后在网页中调起支付宝客户端支付,蚂蚁金服 ...

  2. 安装VS.net2003时 microsoft Frontpage 2000 web 扩展客户端安装失败的解决办法

    安装VS.net2003时突然报错, microsoft Frontpage 2000 web 扩展客户端安装失败,在网上找了一个解决方法,验证此方法可行. 原因是缺少系统文件,Ghost XP文件不 ...

  3. linux mysql关闭启动不了了,linux启动或关闭mysql失败的解决办法

    linux启动或关闭mysql时提示:Warning: World-writable config file '/etc/my.cnf' is ignored. 什么鬼? 意思是: 警告:全世界都能写 ...

  4. WebView支付宝wap支付转支付宝客户端支付

    android WebView支付宝wap支付转支付宝客户端支付重写WebViewClient的以下方法即可.可参考 支付宝平台文档商户APP的WebView处理alipays协议 public bo ...

  5. iOS H5原生WKWebView调起支付宝客户端支付方案

    iOS H5原生WKWebView调起支付宝客户端支付方案 问题描述: 安卓直接WebView加载上面的URL直接可完成跳转支付宝弹出支付界面: iOS WKWebView加载这个URL,只是单纯加载 ...

  6. linux装oracle11g启动失败,Oracle11GSELinux原因启动失败的解决办法

    OS:Oracle-Enterprise-R5-U2-Server-i386Oracle:linux_x86_11gR1_databaseERROR:sqlplus: error while load ...

  7. phphstudy运行不了网站_phpStudy访问速度慢和启动失败的解决办法

    下面给大家介绍phpstudy访问速度慢的解决办法. 1.修改mysql数据库链接地址为ip地址127.0.0.1. 2.使用最新版本,这个坑了我好久时间. 下面一段内容是关于phpstudy启动失败 ...

  8. 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.去掉 ...

  9. 关于VMware虚拟机安装失败的解决办法,报错(29142)或者安装系统后无法启动

    关于VMware虚拟机安装失败的解决办法,报错(29142)或者安装系统后无法启动 如果首次安装,那么安装前要检查,cpu是否开启虚拟化,hyper是否关闭 1.查看cpu是否开启虚拟化 注意: 1. ...

  10. win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法

    win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法 1.APMServ程序所在路径不能含有汉字和空格.例子:D:\r\APMServ5.2.6\  2.去 ...

最新文章

  1. 字符串翻转的两种方法(C++版本)
  2. UVA11732 strcmp() Anyone?
  3. js正则验证特殊字符
  4. BCH将于9月1日进行压力测试
  5. [javaEE] response实现图片下载
  6. unix executable file
  7. 2019.03.20 mvt,Django分页
  8. 阿波罗配置中心(apollo)的个人看法
  9. 我的世界服务器玩家在线指令,我的世界服务器中玩家间的传送功能 | 我的世界 | MC世界侠...
  10. 对过去css+div的总结
  11. 图解TCPIP-IP 网际协议-路由控制
  12. extjs ueditor 图片_Ext整合ueditor示例
  13. 小程序常用的10款框架
  14. 台式计算机运行慢怎么样能提高速度,如何提高电脑的运行速度,让电脑快起来!...
  15. NAR|DREAM:编码RNA和药物关联的数据库
  16. CentOS7.5安裝配置多协议下载器Aria2
  17. Linux LVM全面实践
  18. stp转obj, stp转stl转换小工具
  19. 《分布式JAVA应用 基础与实践》 第六章 构建高可用的系统
  20. 快手上市 CEO写下70万行代码 致敬程序员改变世界

热门文章

  1. 有多少旅游企业入驻了抖音平台?有多少抖音用户喜欢看旅游视频?
  2. 读书随笔(6)密码恢复
  3. 9款非常适合Sketchup的渲染插件以及优点介绍
  4. C++名称查找与ADL
  5. 重试利器之Guava Retrying
  6. 沉没的王国---揭秘滇东自杞国(2)
  7. java开发季度绩效自评,季度绩效考核英文自我评价
  8. python 抓取 实时公交_Python实现命令行监控北京实时公交之一
  9. sci计算机论文发表论文格式,SCI论文发表的格式以及字体的要求是什么?
  10. CentOS 7.4安装配置Oracle 12cR2 12.2.0.1.0