1.在Application中初始化okhttp.
OkHttpUtil.initOkHttp(this);2.设置cookieJar参数
public static void initOkHttp(Context context) { okHttpClient = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .readTimeout(10, TimeUnit.SECONDS) .writeTimeout(10, TimeUnit.SECONDS) .cookieJar(CookieStore.getInstance(context)) .build(); }3.创建CookieStore类:
public class CookieStore implements CookieJar { private static CookieStore instance = null; private static Context context; private final PersistentCookieStore cookieStore = new PersistentCookieStore(context); public static CookieStore getInstance(Context context1) { context=context1; if (null == instance) { instance = new CookieStore(); } return instance; } private CookieStore() { } @Override public void saveFromResponse(HttpUrl url, List<Cookie> cookies) { if (cookies != null && cookies.size() > 0) { for (Cookie item : cookies) { cookieStore.add(url, item); } } } @Override public List<Cookie> loadForRequest(HttpUrl url) { List<Cookie> cookies = cookieStore.get(url); return cookies; } }4.创建PersitenCookieStore 对Cookie进行持久化管理
public class PersistentCookieStore { private static final String LOG_TAG = "PersistentCookieStore"; private static final String COOKIE_PREFS = "Cookies_Prefs"; private final Map<String, ConcurrentHashMap<String, Cookie>> cookies; private final SharedPreferences