【场景描述】
通过Android 4.0.4 WebView内嵌服务端数据列表展示页面,且页面内点击某条数据需要Ajax动态加载数据明细。
说明:
1、服务端需要对客户端进行认证。
2、内嵌的Web页面采用同样的认证方式。
【实现方案】
1、客户端通过HttpClient调用服务端接口进行登录,然后再或者登录后服务端返回的Cookie信息并将其保存到全局静态变量。
DefaultHttpClient defaultHttpClient =new DefaultHttpClient();
HttpResponse httpResponse = defaultHttpClient.execute(httpRequest);
CookieStore cookieStore = ((AbstractHttpClient) defaultHttpClient).getCookieStore();
cookies=cookieStore.getCookies();
2、通过WebView加载页面的时候,遍历上一步缓存的Cookie,分别加入当前访问的URL。
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
for (int i = 0; i < cookies.size(); i++) {
Cookie cookie = cookies.get(i);
cookieManager.setCookie(this.url, cookie.getName() + "=" +