从Android Webview获取会话

从Android Webview获取会话,android,session,webview,Android,Session,Webview,我创建了一个Android应用程序,我想从webview获取会话 如何使之成为可能 谢谢。我使用此方法从网络视图获取会话cookie: public static String getCookieFromAppCookieManager(String url) throws MalformedURLException { CookieManager cookieManager = CookieManager.getInstance(); if (cookieManager == n

我创建了一个Android应用程序,我想从webview获取会话

如何使之成为可能


谢谢。

我使用此方法从网络视图获取会话cookie:

public static String getCookieFromAppCookieManager(String url) throws MalformedURLException {

   CookieManager cookieManager = CookieManager.getInstance();
   if (cookieManager == null)
        return null;
    String rawCookieHeader = null;
    URL parsedURL = new URL(url);
    rawCookieHeader = cookieManager.getCookie(parsedURL.getHost());
    if (rawCookieHeader == null)
        return null;
    return rawCookieHeader;
}
有两种方法:

  • 如果开发人员创建了httpclient,并进行api身份验证调用并存储cookie。然后将httpclient的cookie与webview同步,并以本机方式维护会话

  • 如果用户使用webview进行身份验证调用,并且cookie驻留在webview中

第一个是您的代码,简单地生成一个getter将返回DefaultHTTPClient的实例。该实例也可以访问cookie。您可以对auth api进行异步调用,以在实例中获得正确的cookie。确保将HttpClient和Webview保留在中


要在第二种方法中检索cookie,您将使用CookieManager对象和用户登录的url,并且您需要cookie,例如twitter.com,请参阅第二篇文章以了解实现细节。

发布您迄今为止的尝试;您是否尝试过CookieManager.getInstance()?@AhmadAlsanie,尝试过此方法,但它会提供cookie数据,我在会话中存储我的项目,那么如何在webview中获取会话数据?您是否需要它用于登录目的?不,实际上我的网站是用于在线购物的有限固定价格项目,我在会话中存储购物车,所以对于结帐,我使用Paypal for web,我想为android应用程序实现inapp购买,所以我需要android会话中的购物车。好的,带我完成创建会话的过程(您使用HTTPURLConnection吗)?关于代码的其他细节将是有益的。你知道什么?我在生产代码中使用它。我还测试了很多其他方法,比如XWalkCookieManager等。也许这段代码来自stackoverflow,那又怎样@凯,你是一个纯粹主义者吗?@凯,是的,你完全正确,完美主义者先生。@Decoy,谢谢你的回答,这是用来获取cookies的,但我在会话中存储了一些数据,所以如何获取它。