Android 4.4.2
Cordova 3.4.1
jQuery 2.1.0
jQuery Mobile 1.4.2
我需要将我的登录凭据发布到服务器(在本例中为 IBM Domino 9.01,但它是无关紧要的)并且服务器使用 session cookie 等进行响应。
这在 iOS 上运行良好,但我在 Android 上使用我的 Cordova/Phonegap 应用程序时没有得到任何 cookie。我使用 Chrome 开发工具看到了这一点。我知道 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 服务器上的 session 中提取 NONCE 值。
最佳答案
我认为这行不通 我在我的 phonegap android 应用程序上试过了。最佳解决方案是使用 localStorage 或 sessionStorage。也许您可以尝试使用其他方式发送 session ,例如使用 token 或通过 header 发送它们……这就是我现在正在做的…… 也检查一下
关于javascript - 未在 Android Phonegap 应用程序中获取 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23471256/