【问题标题】:Android CookieManagerAndroid CookieManager
【发布时间】:2012-05-17 01:25:42
【问题描述】:

我有一个应用程序会进行多次 Web 调用,以便通过身份验证,然后返回 JSON。我的网络调用是到 https 服务器,我正在使用 HTTPURlConnection。

我需要将会话存储在cookie中,经过研究,我发现了这个

http://developer.android.com/reference/java/net/HttpURLConnection.html

在带有 cookie 的会话标题下,它告诉您在此处使用此代码

   CookieManager cookieManager = new CookieManager();
   CookieHandler.setDefault(cookieManager);

但是,当我尝试使用此代码时,新的 CookieManager();部分以红色突出显示并表示

构造函数CookieManager不可见

Cookiehandler.setDefault 也以红色突出显示

CookieHandler类型中的setDefault(CookieHandler)方法不适用于参数(CookieManager)

有谁知道这是为什么?

提前致谢!

【问题讨论】:

  • 检查你的导入看看你是否使用了正确的CookieManager类——应该是java.net.CookieManager
  • 请您发布您的代码。根据developer.android.com/reference/java/net/CookieManager.html 肯定有一个公共构造函数。您是否使用了正确的 CookieManager 类?
  • Rajesh 是对的,我更改了导入,没有工作,所以然后尝试单击修复项目设置,并且工作。干杯拉杰什

标签: java android cookiemanager


【解决方案1】:

您可能尝试使用错误的CookieManager 类。在 Android 中有 2 个类...

android.webkit.CookieManager
java.net.CookieManager

对于这种情况,您需要使用java.net.CookieManager 类。

【讨论】:

  • 现在可以运行了,但是当我尝试运行我的应用程序时,它崩溃并说 java.net.CookieManager 上没有找到类错误。知道为什么会这样吗?
  • 听起来您缺少与 Android 库包的连接。检查 android 设置并确保包含其中一个 Android 库。
  • 啊,做了一些研究后发现stackoverflow.com/questions/6354294/urlconnection-with-cookies 说只适用于 API 9 以上,所以遗憾的是对我没有用
  • 混蛋。作为一个建议,如果您喜欢冒险,您也许可以获取 API9 版本的CookieManager 的源代码并将其添加到您的项目中作为com.myprogram.CookieManager(虽然不确定这会涉及多少工作,如果有很多依赖项)。
  • 依赖项会让我担心这种方法,只需要寻找替代方案,bleh!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-02
  • 2018-03-22
  • 2012-08-22
  • 2019-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多