登录时保存用户cookies

此次项目有这样一个需求,用户登录了app后,中途点击app内的webview时,用户不需要再次登录。那么,这就需要我们在登录的时候将用户的cookies保存下来。
下面简单说下使用方法就好,具体解释,请参考博客:http://blog.csdn.net/jdsjlzx/article/details/44700965

下面是我项目中使用的方法:`
final AsyncHttpClient client = new AsyncHttpClient();
//保存cookie,自动保存到了shareprefercece
PersistentCookieStore myCookieStore = new PersistentCookieStore(LoginActivity.this);
client.setCookieStore(myCookieStore);
client.post(HttpConstant.USER_LOGIN, params, new JsonHttpResponseHandler() {

        @Override
        public void onFailure(int statusCode, Header[] headers,
                              Throwable throwable, JSONObject errorResponse) {
            super.onFailure(statusCode, headers, throwable, errorResponse);
            ToastUtils.ToastShowShort(mContext, "登录失败,请检查网络");
            if (bufferCircleDialog.isShowDialog()){
                bufferCircleDialog.dialogcancel();
            }
        }

        @Override
        public void onSuccess(int statusCode, Header[] headers,
                              JSONObject response) {
            super.onSuccess(statusCode, headers, response);

网络请求使用的是android-async-http-1.4.8.jar包,

下面是获取cookies,并设置(写在webview内):

 CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.removeAllCookie();
        cookieManager.setAcceptCookie(true);
        webView.getSettings().setBlockNetworkImage(false);
        //
        PersistentCookieStore myCookieStore = new PersistentCookieStore(WebViewActivity.this);
        List<Cookie> cookies = myCookieStore.getCookies();
        for (int i = 0; i < cookies.size(); i++) {
            String cookieString = cookies.get(i).getName() + "=" + cookies.get(i).getValue() +
                    ";domain=" + cookies.get(i).getDomain() + ";path=" + cookies.get(i).getPath();
            cookieManager.setCookie(cookies.get(i).getDomain(), cookieString);
        }

android-async-http-1.4.8.jar包下载地址为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值