Android WebView调起支付宝微信支付

Android中使用WebView调起支付宝、微信支付

由于项目中的需求,需要在webview中调起支付宝和微信支付

直接上代码记录下:

webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setSupportMultipleWindows(true);
        webView.setWebChromeClient(new WebChromeClient());
        webView.loadUrl(url);

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if (url.contains("platformapi/startApp")) {
                    startAliPayActivity(url);
                } else if ((Build.VERSION.SDK_INT > Build.VERSION_CODES.M)
                        && (url.contains("platformapi") && url.contains("startApp"))) {
                    startAliPayActivity(url);
                } else if (url.startsWith("weixin://wap/pay?")) {
                    Intent intent = new Intent();
                    intent.setAction(Intent.ACTION_VIEW);
                    intent.setData(Uri.parse(url));
                    startActivity(intent);
                } else {
                    webView.loadUrl(url);
                }
                return true;
            }
        });

很奇怪的是网上搜的跳支付宝判断的url都是platformapi/startapp 然后发现我的不会跳,一开始还以为是不适配,结果debug发现是platformapi/startApp
其他的就好了

你可能感兴趣的:(Android)