栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Phonegap Android应用程序对HTTPS的ajax请求失败,状态为0

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Phonegap Android应用程序对HTTPS的ajax请求失败,状态为0

当请求的URL响应错误或自签名证书时,就会发生这种情况。在测试或发布应用程序的朋友,设置

<applicationandroid:debuggable="true"...>
AndroidManifest.xml
是不够的-它会自动绕过证书错误。

但是Google Play商店不接受带有的APK

android:debuggable="true"
。首先,当然需要对证书进行固定。但是,在这种情况下,这是PhoneGap / Cordova
3的解决方法:

  1. 在您的应用包中,为创建一个子类
    CordovaWebViewClient
        public class SSLAcceptingCordovaWebViewClient extends CordovaWebViewClient {        public SSLAcceptingCordovaWebViewClient(CordovaInterface cordova, CordovaWebView view) { super(cordova, view);        }        @Override        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed();        }    }
  1. 相同
    IceCreamCordovaWebViewClient
        public class SSLAcceptingIceCreamCordovaWebViewClient extends IceCreamCordovaWebViewClient {        public SSLAcceptingIceCreamCordovaWebViewClient(CordovaInterface cordova, CordovaWebView view) { super(cordova, view);        }        @Override        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed();        }    }
  1. <Your App Name>.java
    添加替代
    makeWebViewClient
        @Override    protected CordovaWebViewClient makeWebViewClient(CordovaWebView webView) {        if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) { return new SSLAcceptingCordovaWebViewClient(this, webView);        } else { return new SSLAcceptingIceCreamCordovaWebViewClient(this, webView);        }    }

等等! SSL错误将被忽略。但是,切勿使用错误的证书。尝试先修复它们,然后仅在用完其他解决方案时才使用此肮脏的解决方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399761.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号