【问题标题】:Not getting cookies in Android Phonegap application没有在 Android Phonegap 应用程序中获取 cookie
【发布时间】:2014-06-21 16:23:33
【问题描述】:
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 开发工具看到了这一点。我知道 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 值。

【问题讨论】:

  • 你找到解决办法了吗?
  • 不。我设法在没有 cookie 的情况下提取了所需的值。

标签: javascript android cordova cookies lotus-domino


【解决方案1】:

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

Handling cookies in PhoneGap/Cordova

【讨论】:

  • 更新:我们决定使用有效期为 1 小时的 JWT(JSON Web Token)并将其存储在本地存储中
猜你喜欢
  • 2013-09-18
  • 2014-01-31
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-26
相关资源
最近更新 更多