Notice
Recent Posts
Recent Comments
Link
투케이2K
249. (AndroidStudio/android/java) 웹뷰 (webview) 강력 캐시 초기화 방법 - cache , CookieManager , deleteDatabase 본문
Android
249. (AndroidStudio/android/java) 웹뷰 (webview) 강력 캐시 초기화 방법 - cache , CookieManager , deleteDatabase
투케이2K 2022. 1. 11. 08:27[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : java
[소스 코드]
// -----------------------------------------
// TODO [WebView 컴포넌트 매핑 설정]
main_webview = (WebView)findViewById(R.id.main_webview);
// -----------------------------------------
// -----------------------------------------
// TODO [웹뷰 쿠키 및 세션 관리를 위한 쿠키 매니저 선언]
CookieManager cookieManager = CookieManager.getInstance();
// -----------------------------------------
// -----------------------------------------
// TODO [웹뷰의 캐시를 초기화 실시 : 일반 적용 방법]
try {
main_webview.clearCache(true);
main_webview.clearHistory();
main_webview.clearView();
}
catch (Exception e){
//e.printStackTrace();
}
// -----------------------------------------
// -----------------------------------------
///*
// TODO [웹뷰의 캐시를 초기화 실시 : 쿠키 매니저를 통한 캐시 제거]
try {
cookieManager.removeSessionCookies(new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean aBoolean) {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> init_WebView() :: 사전 쿠키 및 세션 데이터 삭제]");
Log.i("","\n"+"[session :: "+String.valueOf(aBoolean)+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
}
});
cookieManager.removeAllCookies(new ValueCallback() {
@Override
public void onReceiveValue(Object value) {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> init_WebView() :: 사전 쿠키 및 세션 데이터 삭제]");
Log.i("","\n"+"[cookies :: "+String.valueOf(value)+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
}
});
cookieManager.getInstance().flush();
}
catch (Exception e){
//e.printStackTrace();
}
// */
// -----------------------------------------
// -----------------------------------------
///*
// TODO [웹뷰의 캐시를 초기화 실시 : deleteDatebase 를 이용한 직접 제거]
try {
A_Main.this.deleteDatabase("webview.db");
A_Main.this.deleteDatabase("webviewCache.db");
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> init_WebView() :: 사전 쿠키 및 세션 데이터 삭제]");
Log.i("","\n"+"[로 직 :: 웹뷰 deleteDatabase 수행]");
Log.d("//===========//","================================================");
Log.i("---","---");
}
catch (Exception e){
//e.printStackTrace();
}
// */
// -----------------------------------------
// -----------------------------------------
// TODO [웹뷰 로드 수행 실시]
main_webview.loadUrl(url);
// -----------------------------------------
반응형
'Android' 카테고리의 다른 글
Comments