Android WebViewでCookieを使う方法


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);
    }

}

以上です。