Cordova会话Cookie在Android Lollipop上不起作用

约瑟姆

我为Android开发了Cordova / Phonegap应用程序,该应用程序使用会话cookie登录到第三方网站。为此,我执行AJAX发布请求(使用jQuery),然后自动设置cookie。

但是,当我将智能手机更新为Android Lollipop 5.0并将应用程序库更新为API级别21时,Cookie停止工作。有什么变化?

约瑟姆

在花了数小时在Internet上寻找可行的解决方案之后,我偶然发现了一篇很好地解释了该问题的文章,因此将其发布在这里,因为我认为这对其他Stack Overflow用户将很有用。

基本上,问题在于新的Android第三方Cookie政策(https://developer.android.com/about/versions/android-5.0-changes.html#BehaviorWebView),该政策默认情况下将其阻止。

解决方案是在主要活动中添加几行代码:

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    super.init();

    // Allow third party cookies for Android Lollipop
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        WebView webView = (WebView)super.appView;
        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.setAcceptThirdPartyCookies(webView,true);
    }

    super.loadUrl(Config.getStartUrl());
}

有关更多信息,我在此处放置了全文链接:http : //joashpereira.com/blog/2014/11/19/fix-to-cordovaphonegap-apps-targeting-android-5-lollipop-or-later-默认情况下不允许第三方Cookie /

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章