展会信息港展会大全

Android的HttpClient和WebView session不同的问题
来源:互联网   发布日期:2015-10-02 21:38:27   浏览:1683次  

导读:在开发一个项目时,遇到了这么一个问题,登录界面是用Android的native的UI来做的,登录成功后会跳转到WebView来加载Sencha Touch的数据,但是在WebVie...

在开发一个项目时,遇到了这么一个问题,登录界面是用Android的native的UI来做的,登录成功后会跳转到WebView来加载Sencha Touch的数据,但是在WebView到后台Load数据的时候发现,这时的session和登录时的session不同了,因此取不到数据,为此google了很久,终于在StackOverflow找到了方法,在此先贴出原文地址:

http://stackoverflow.com/questions/1652850/android-webview-cookie-problem

其中关键点在下面的这些code里:

</pre><pre name="code" class="java">//------- Native request activity

private DefaultHttpClient httpClient;

public static Cookie cookie = null;

//After Login

List<Cookie> cookies = httpClient.getCookieStore().getCookies();

if (!cookies.isEmpty()) {

for (int i = 0; i < cookies.size(); i++) {

cookie = cookies.get(i);

}

}

//注:下面的code写在WebView的Activity里

//------- Web Browser activity

Cookie sessionCookie = myapp.cookie;//这里的cookie就是上面保存的cookie

CookieSyncManager.createInstance(this);

CookieManager cookieManager = CookieManager.getInstance();

if (sessionCookie != null) {

cookieManager.removeSessionCookie();

String cookieString = sessionCookie.getName() + "=" + sessionCookie.getValue() + "; domain=" + sessionCookie.getDomain();

cookieManager.setCookie(myapp.domain, cookieString);

CookieSyncManager.getInstance().sync();

不多说了,主要是在登录成功后,把cookie存起来,然后在WebView中SetCookie

qq280948982的专栏

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港