我是这么做的:
1.服务器设置cookie;
2.客户端从服务器获取cookie并保存;
3.客户端页面跳转是判断url是否包含服务器地址,如果包含则读取cookie
具体是通过SharedPreferences来实现保存和读取的
保存:SharedPreferences sp = context.getSharedPreferences(Const.eBag,
Context.MODE_PRIVATE);
sp.edit()
.putString(account + "_ticket",
data.getString("ticket"))
.putString(account + "_ID", data.getString("id"))
.putString(account + "_AccountID", account)
.putString(account + "_DisplayName",
data.getString("display")).commit();
读取:String ticket = context.getSharedPreferences(Const.eBag, Context.MODE_PRIVATE).getString(Const.username + "@" + Const.domain + "_ticket", null);
String cookieStr = context.getResources().getString(R.string.cookie_name) + "=" + "_wsut_=" + ticket + ";" + "Domain=" +
context.getResources().getString(R.string.DOMAIN) + ";" + "PATH=" + context.getResources().getString(R.string.PATH) + ";
" + "EXPIRES=" + context.getResources().getString(R.string.EXPIRES);
Map headers = new HashMap();
headers.put("Cookie", cookieStr);
webView.loadUrl(tag, headers);