没有在Android Phonegap应用程序中获取cookie

时间:2014-05-05 11:23:38

标签: javascript android cordova cookies lotus-domino

Android 4.4.2
Cordova 3.4.1
jQuery 2.1.0
jQuery Mobile 1.4.2

我需要将我的登录凭据发布到服务器(在这种情况下是IBM Domino 9.01,但它无关紧要),服务器还会使用会话cookie进行响应。

这适用于iOS,但我没有得到任何使用Android上的Cordova / Phonegap应用程序的cookie。我使用Chrome Dev Tools看到了这一点。我知道Android获取cookie因为我已经登录并可以浏览。但它似乎并没有渗透到我的JavaScript代码所在的WebView。

我修改了appName.java文件:

import android.os.Bundle;
import android.webkit.CookieManager;
import org.apache.cordova.*;
public class Rooms extends CordovaActivity 
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        // Set by <content src="index.html" /> in config.xml

        CookieManager.setAcceptFileSchemeCookies(true); //available in android level 12
        CookieManager.getInstance().setAcceptCookie(true); //available in android level 12
        super.loadUrl(Config.getStartUrl());
        //super.loadUrl("file:///android_asset/www/index.html");
    }
}

我对这部分不是100%肯定:

CookieManager.getInstance().setAcceptCookie(true)

它编译并运行正常,但我无法访问任何cookie。

我需要访问cookie,因为据我所知,没有其他方法可以在IBM Domino服务器上的会话中提取NONCE值。

1 个答案:

答案 0 :(得分:1)

我认为这不行,我在我的phonegap android应用程序上试了一下。最佳解决方案是使用localStorage或sessionStorage。也许您可以尝试使用其他方式发送会话,例如使用令牌或通过标题发送它们......这就是我现在正在做的事情。 也看看这个

Handling cookies in PhoneGap/Cordova