Android webview对接H5微信支付,ERR_UNKNOWN_URL_SCHEME引发的事故

最近项目要求修改微信/支付宝支付方式,由客户端集成SDK方式更改为H5支付,既然提出需求,就只好撸代码了,客户端对接H5支付的处理过程中,遇到了一个小问题,问题是:由于微信支付只能在客户端进行,当手机未安装微信客户端的时候,webview会报如下的错误信息:

The webpage at weixin://wap/pay?prepayid=xxxx........  could not be loaded
 because:  net::ERR_UNKNOWN_URL_SCHEME

也就是在未安装微信客户端的情况下,没有对应的浏览器支持打开weixin://wap/pay?prepayid=xxxx… ,这用户体验肯定差咯,就去找前端商量,前端有没有什么法子能实现判断客户端是否安装微信客户端咯,结果是不能,解决方案是:客户端这边判断,然后写个JS交互接口方法提供前端调用(此方案我认为是最好的法子),但我嫌麻烦,我就提出:前端弄一个简单的提示页面,通过webview.loadUrl的方式加载自定义提示页面,替换无法加载微信内部链接的错误页面,代码如下:

/**是否安装微信客户端,默认安装**/
private boolean isInstalledWeiXin = true;

webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                try {
                 
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值