LoginSignup
14
15

More than 5 years have passed since last update.

Android WebViewでCookieを使う方法

Posted at

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

}

以上です。

14
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
15