1

現在、Cookie の永続性について多くのことを検索しましたが、適切な解決策が見つかりません。

HTTPUrlConnection を使用してサーバーに対して認証し、Cookie を取得します。それらを CookieManager で取得し、それらを新しい接続にロードできます。ここで、その Cookie、おそらく Cookiemanager オブジェクト全体を永続化したいと考えています。CookieManagerを作成してCookieStoreを指定してCookieを永続化できるという解決策を見つけました。

永続的な CookieStore は SDK に実装されていないため、独自の永続的な CookieStore を構築する必要があるという古いソリューション (2 ~ 3 年) しか見つかりませんでした。これは最新ですか?SDK に永続的な CookieStore が実装されていますか、それとも SharedPreferences を使用して自分で Cookie を永続化する必要がありますか? または、最近 Cookie を永続化するためのより良い解決策を誰かが持っていますか?

よろしくお願いします、

4

1 に答える 1

0

これは他のいくつかの場所で回答されているようです。私は試していませんが、このリンクで詳細な説明を得ることができます:

http://blog.winfieldpeterson.com/2013/01/17/cookies-in-hybrid-android-apps/

public class YourApplication extends Application {
  public void onCreate() {
    super.onCreate();

    //Setup Cookie Manager and Persistence to disk
    CookieSyncManager.createInstance(this);
    CookieManager.getInstance().setAcceptCookie(true);
  }
}

public class MainActivity extends BaseActivity {
  public void onResume() {
    CookieSyncManager.getInstance().stopSync();
  }

   public void onPause() {
     CookieSyncManager.getInstance().sync();
   }
}

API21 は CookieSyncManager を廃止し、Cookie が確実にディスクに書き込まれるようになりました。

CookieManager.flush()
于 2015-09-13T16:02:39.073 に答える