#Android WebViewでCookieを使う方法
本記事ではAndroid開発におけるWebViewでCookieを使用する方法を掲載します。
##CookieManager取得
CookieManagerを取得します。
CookieManager cookieManager = CookieManager.getInstance();
##CookieManager有効化
CookiManagerを有効化します。
cookieManager.setAcceptCookie(true);
##Cookie設定
CookiManager#setCookieでCookieを設定します。
cookieManager.setCookie(url,cookie);
##Cookieを削除しておく
前のインスタンスでのCookieが残っている可能性があるので、削除しておきます。
cookieManager.removeAllCookie();
##API21以上の場合
API21以上の場合はデフォルトのCookie以外が無効にされますので、これを有効にします。
cookieManager.setAcceptThirdPartyCookies(webview, true);
以上でcookieの設定が完了になります。
全体のコードとしては下記になります。
MyWebView.java
public class MyWebView extends AppCompatActivity {
private final static String TAG = MyWebView.class.getSimpleName();
private Resources res;
private WebView mWebView;
private String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_web_view);
initWebViewSetting();
}
private void initWebViewSetting(){
mWebView = (WebView)findViewById(R.id.webView);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.setInitialScale(1);
mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mWebView.getSettings().setSaveFormData(false);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.removeAllCookie();
cookieManager.setCookie(url,cookie);
cookieManager.setAcceptThirdPartyCookies(mWebView, true);
mWebView.loadUrl(url);
}
}
以上です。