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值。
答案 0 :(得分:1)
我认为这不行,我在我的phonegap android应用程序上试了一下。最佳解决方案是使用localStorage或sessionStorage。也许您可以尝试使用其他方式发送会话,例如使用令牌或通过标题发送它们......这就是我现在正在做的事情。 也看看这个