从Android Webview获取会话

时间:2015-07-27 10:05:59

标签: android session webview

我创建了一个Android应用程序,因为我想从webview获取Session。

如何使它成为可能?

感谢。

2 个答案:

答案 0 :(得分:0)

我使用此方法从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;
}

答案 1 :(得分:-1)

有两种方法:

  • 如果开发人员制作了httpclient,并进行api auth调用并存储cookie。然后将httpclient的cookie与webview同步并本地维护会话。

  • 如果用户使用网络视图进行身份验证呼叫,并且Cookie位于网络视图中。

第一个是您的代码,只需制作一个getter就会返回DefaultHTTPClient的实例。该实例也可以访问cookie。您可以对auth api进行异步调用以在实例中获取正确的cookie。确保在sync中保留HttpClient和Webview。

要在第二种方法中检索cookie,您可以使用CookieManager对象和用户登录的URL,您需要cookie,例如twitter.com。有关实现细节,请参阅第二篇文章here