Android WebView 微信和支付宝H5调用本地app支付

 思路:在webview拦截网址,判断出是微信和支付宝的支付链接,然后本地调用app客户端支付。

 下面上代码:

 

webView.setWebViewClient(new WebViewClient() {
        
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String s) {
                if (s.startsWith("weixin://wap/pay?")) {
                    Intent intent = new Intent();
                    intent.setAction(Intent.ACTION_VIEW);
                    intent.setData(Uri.parse(s));
                    startActivity(intent);
                    return true;
                }
                if (s.startsWith("alipays://platformapi/startApp?")) {
                    Intent intent = new Intent();
                    intent.setAction(Intent.ACTION_VIEW);
                    intent.setData(Uri.parse(s));
                    startActivity(intent);
                    return true;
                }
                return super.shouldOverrideUrlLoading(view,s);
            }
        });
 注意! return super.shouldOverrideUrlLoading(view,s);这句不要动。否则会失败。

你可能感兴趣的:(android)