WebView を介してサイトにログインしています。次に、ログイン時にWebビューによって設定されたCookieを取得しました。それから私は後でクッキーを設定しようとしました。私のコードを見てください:
CookieSyncManager.createInstance(context);
CookieManager cookieManager = CookieManager.getInstance();
Log.e("checkPost 1", cookie);
cookieManager.setCookie("https://************", cookie);
Log.e("checkPost 2", cookieManager.getCookie("https://*************"));
CookieSyncManager.getInstance().sync();
Log.e("checkPost 3", cookieManager.getCookie("https://*************"));
checkPost 1
印刷されたクッキーでは、それが問題ないことを示しています。しかし、それcheckPost 2
以降のステートメントでは、Cookie のほとんどが消失していることを示しています。何が問題ですか ?私はクッキーを設定する必要があります。しかし、私は約2日を費やす方法を見つけることができませんでした.sync()
CookieSyncManager.getInstance().sync();
checkPost 3
編集:
Androidのドキュメントでは、次のように述べています。
public void setCookie (文字列 URL、文字列値)
指定された URL の Cookie を設定します。同じホスト、パス、および名前を持つ既存の Cookie はすべて、新しい Cookie に置き換えられます。設定されている Cookie は期限切れであってはならず、セッション Cookie であってはなりません。それ以外の場合は無視されます。
経由で強制的CookieManager
にセッション Cookie を設定する方法はありますsetCookie()
か? 問題は、設定しようとしているのかもしれませんsession cookie