AndroidのCookie関連ではまったこと

Androidアプリを作っていてCookie関連ではまったのでメモ

WEB側とアプリ側両方でsetCookieすると同名のCookieが複数出来てしまう

標準ブラウザからクッキーを引き継いでくる必要があったので、明示的Intentでアプリ起動時にパラメータ渡してアプリ内でsetCookieしていた
で、さらにWEB側でも同名のCookieを発行するようにしていたら、CookieManager内に同名のクッキーが複数入ってしまい、あれれ?ってなった

解決方法

CookieManager#setCookie()しているとだめだったので、標準ブラウザから受け取ったデータをアプリ側のWebView#loadUrl()時にパラメータとして再度WEB側に投げてやって、WEB側のプログラムでsetcookie() してやることでなんとか回避
ただし、この方法が正しいのかは不明w

まとめると

  • 標準ブラウザから明示的Intentを利用してアプリ起動時にクッキーに入れたいパラメータを渡す
  • アプリ側で受け取ったパラメータをWebViewアクセス時にパラメータとしてWEB側になげる(GETの値とかで)
  • WEB側のプログラム(PHPとかRubyとかPythonとかCGIとか)でアプリ側から投げられたパラメータをsetcookieする

でも、なんかすっきりしない感じなので、なんかいい方法知っている人がいたら教えてくださいw