解决android4.4.4手机不能正常调起微信支付问题

解决Android手机系统版本4.4.4不能正常调起微信H5支付的问题

为了解决在android手机系统版本4.4.4调起微信H5支付的问题,找了好多文章都没有正常解决,遇到这篇文章,nice,你的问题解决了。

废话不多说直接上代码:

private void initView() {

    webView = (WebView) findViewById(RUtil.getId(this, "webview"));

    WebSettings settings = webView.getSettings();

    settings.setJavaScriptEnabled(true);

    settings.setAppCacheEnabled(false);

    settings.setDefaultTextEncodingName("UTF-8");

    settings.setJavaScriptCanOpenWindowsAutomatically(true);

    webView.setWebViewClient(new WebViewClient() {

        @Override

        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {

            //可以让webview处理https请求

            handler.proceed();

        }

@Override

        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            if (url.startsWith("weixin://wap/pay?")) {

                Intent intent = new Intent();

                intent.setAction(Intent.ACTION_VIEW);

                intent.setData(Uri.parse(url));

                startActivity(intent);

                return true;

            } else {

            //敲黑板,敲黑板,敲黑板

                if (("4.4.3".equals(android.os.Build.VERSION.RELEASE))

                        || ("4.4.4".equals(android.os.Build.VERSION.RELEASE))) {

                        //敲黑板

                    return false;

                } else {

                    Map extraHeaders = new HashMap<>();

                    extraHeaders.put("Referer", "http://www.toutiao.com");

                    webView.loadUrl(mWeb_url, extraHeaders);

                }

            }

            return true;

        }

    });

    if (("4.4.3".equals(android.os.Build.VERSION.RELEASE))

            || ("4.4.4".equals(android.os.Build.VERSION.RELEASE))) {

        //兼容这两个版本设置referer无效的问题

        webView.loadDataWithBaseURL("http://www.toutiao.com",

                "",

                "text/html", "utf-8", null);

    } else {

        Map extraHeaders = new HashMap<>();

        extraHeaders.put("Referer", "http://www.toutiao.com");

        webView.loadUrl(mWeb_url, extraHeaders);

    }

}

---------------------

作者:weixin_43815699

来源:CSDN

原文:https://blog.csdn.net/weixin_43815699/article/details/84566836

版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(解决android4.4.4手机不能正常调起微信支付问题)