微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Android上的Crosswalk WebView中以编程方式设置cookie

我需要在Android上使用Crosswalk(在Cordova项目中)使用一些
我通过Apache HttpClient收集的cookie.
但是我不知道如何实现这一目标.我试过试验
XWalkCookieManager,但我想我做的一切
XWalkCookieManager被忽略.我在哪里初始化cookie
经理?这甚至支持了吗?

//cookieStore contains the cookies I got via a request from the Apache
// HttpClient.
 List<Cookie> cookies = cookieStore.getCookies();
 for (int i = 0; i < cookies.size(); i++) {
     Cookie cookie = cookies.get(i);
     String cookieString = buildCookieStringFromCookie(cookie);

     // This is a XWalkCookieManager I initialized earlier but it doesn't do anything 
     //as far as I can tell.
     cookieManager.setCookie(cookie.getDomain(),cookieString);
 }

我真的很感激任何帮助,这是唯一的
目前阻止我成功使用Crosswalk.

我也尝试过通过CookieManager.getInstance().标准的Android cookie管理器.setCookie(cookie.getDomain(),cookieString);但这似乎也被Crosswalk忽略了.

最好,

安德烈亚斯

//编辑以供将来参考:

问题是Crosswalk希望cookie网址以https://开头,原生Android网页浏览不会(或者相反,我不再确定).现在正常工作的是将cookie设置两次,一次不使用https,一次使用https:

   mCookieManager.setCookie(cookie.getDomain(), cookieString);
   mCookieManager.setCookie("https://" + cookie.getDomain(), cookieString);

解决方法:

您可以创建XWalkCookieManager的实例并在其中设置不同的cookie.
它似乎与xwalkviews共享.

// Your can use this inside the onCreate() method
private XWalkCookieManager mCookieManager;
mCookieManager = new XWalkCookieManager();
mCookieManager.setAcceptCookie(true);
mCookieManager.setAcceptFileSchemeCookies(true);

// Pass it to your request executor
httpRequestExecutor.setXWalkCookieManager(mCookieManager);
//You're Now able to add your cookies to this manager rather than to your cookieManager

我们如何从HttpResponse中提取cookie:

responseHeaders = response.getAllHeaders();
for (int i = 0; i < responseHeaders.length; i++)
{
    Header header = responseHeaders[i];
    if (header.getName().equalsIgnoreCase("set-cookie"))
    {
        mCookieManager.setCookie(request.getUrl(), header.getValue());
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐