サービス内で次のコードを実行します。
public class MainService extends Service {
....
....
CookieManager mCookieManager = CookieManager.getInstance();
CookieSyncManager mCookieSyncManager = CookieSyncManager.createInstance(mContext);
if (mCookieSyncManager != null) {
mCookieSyncManager.sync();
}
AsyncHttpClient myClient = new AsyncHttpClient();
PersistentCookieStore myCookieStore = new PersistentCookieStore(mContext);
myClient.setCookieStore(myCookieStore);
myClient.setUserAgent("my service");
myClient.get("http://example.com/mypage/", new AsyncHttpResponseHandler() {
...
}
...
...
}
ウェブサーバーのログを確認すると、リクエスト ヘッダーに Cookie が存在することがわかります。
ただし、これらの Cookie は古い Cookie です。
この AndroidAsyncHttp コードもアクティビティから実行します。同じ古い Cookie が送信されます。
しかし、WebView で現在の Cookie を出力すると、新しい Cookie が表示されます。
AndroidAsyncHttp で WebView の Cookie を送信するにはどうすればよいですか?