4

HttpURLConnection での各リクエスト後に Cookie を保持するには、アプリの開始時に CookieHandler を追加する必要があります。

CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);

しかし、アプリを閉じて再度開くと、Cookieは空です...では、閉じた後にCookieを保存するにはどうすればよいですか?

それらをSharedPreferencesまたはファイルに保存し、開いた後にそれらを取り戻すようなもの...

私は CookieStore を使用してそれらを保持しようとしましたが、うまくいきません:...

保存:

Settings.Save(c, TAG, cookieManager.getCookieStore().getCookies().toString());

ロード:

String load = Settings.Load(c, TAG);
if (load != null) {
    for (HttpCookie hc : HttpCookie.parse(load)) {
        cookieManager.getCookieStore().add(new URI(Data.domain), hc);
    }
}

ありがとう..

4

1 に答える 1

8

デフォルトでCookieStoreは、ディスクに何も保持されません。保持するものを実装する必要があります。Cookie を SharedPreferences に直接保存する実装例を次に示します。

于 2015-07-17T11:49:37.357 に答える