はじめに
Cookieの使い方が苦手なので、書きます。
AndoridはWebViewでCookieを使います。
CookieSyncManager
CookieSyncManagerはCookieの同期を管理できるクラスです。
CookieSyncManager
@Override
protected void onCreate(){
// WebViewで使うcookieの準備
CookieSyncManager.createInstance(getApplicationContext());
CookieManager cm = CookieManager.getInstance();
//Cookieの利用
cm.setAcceptCookie(true);
//Cookieをセットしたり
cm.setCookie(DOMAIN, cookieStr);
}
準備の処理をonCreate()に書く。
一度、createInstanceをせずにgetInstanceを呼び出しました。。
元々あるwebviewのCookieを別の場所で呼び出したりする処理をしようとしたんですね。。
多分。w
エラーになるので注意です。
CookieSyncManager
@Override
protected void onResume() {
super.onResume();
CookieSyncManager.getInstance().startSync();
}
@Override
protected void onPause() {
super.onPause();
CookieSyncManager.getInstance().stopSync();
}
この辺りは、お作法的な感じで覚えておきます。
deprecatedされてる
Android 5.0ではもうdeprecated されていました!
こちらにものってますね。。
Cookieの情報をWebViewでも利用する以外に、Apache HttpClientと同期したりする処理もありますが
そのHttpClientもAndroid6.0でサポートしないとのことなので、
この辺りは対応していく必要がありそうです。。
とはいえ、まだ多く出会いそうな処理なので、書いてみました!