解决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.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.put("Referer", "http://www.toutiao.com");
webView.loadUrl(mWeb_url, extraHeaders);
}
}
---------------------
作者:weixin_43815699
来源:CSDN
原文:https://blog.csdn.net/weixin_43815699/article/details/84566836
版权声明:本文为博主原创文章,转载请附上博文链接!