Android(기능)
[Android] Webview 쿠키, 캐시, 히스토리 등 웹데이터 삭제
겸손할 겸
2017. 12. 20. 11:55
[코드]
webView.clearCache(true); webView.clearHistory(); // 자동완성은 8.0부터는 내장되어 아래 함수 안먹음 webView.clearFormData(); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { CookieSyncManager cookieSyncMngr=CookieSyncManager.createInstance(MainActivity.this); cookieSyncMngr.startSync(); CookieManager cookieManager=CookieManager.getInstance(); cookieManager.removeAllCookie(); cookieManager.removeSessionCookie(); cookieSyncMngr.stopSync(); cookieSyncMngr.sync(); }else { CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookies(new ValueCallback() { @Override public void onReceiveValue(Boolean value) { Log.d("onReceiveValue", value.toString()); } }); cookieManager.getInstance().flush(); }
iOS의 경우에는 원하는 데이터 타입을 설정해서 하는 방법이었다면 안드로이드의 경우에는 위처럼 수행한다.
기본적인 캐시 및 히스토리는 윗 두 줄처럼하면 된다.
입력한 자동완성 값은 clearFormData()로 할 수있으나 오레오부터는 이 함수는 먹지 않는다.
https://developer.android.com/about/versions/oreo/android-8.0-changes.html?hl=ko
롤리팝(21)부터 지원하는 쿠키매니저는 이전 값들을 깨끗하게 지우는데 도움이 된다. 이전 버전은 쿠키싱크매니저를 사용한다.