투케이2K

679. (Android/Java) [유틸 파일] 쿠키 매니저 사용해 도메인 설정 쿠키 및 세션 값 저장 - webviewSetDataStoreCookie 본문

Android

679. (Android/Java) [유틸 파일] 쿠키 매니저 사용해 도메인 설정 쿠키 및 세션 값 저장 - webviewSetDataStoreCookie

투케이2K 2023. 11. 4. 14:17

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

 
    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : webviewSetDataStoreCookie : [웹뷰에 쿠키 및 세션 추가 실시] : CookieManager setCookie
    // -----------------------------------------------------------------------------------------
    public static void webviewSetDataStoreCookie(Context mContext, WebView webview, String domain, String value) {

        /**
         * // -----------------------------------------
         * [webviewSetDataStoreCookie  메소드 설명]
         * // -----------------------------------------
         * 1. 웹뷰에 쿠키 및 세션 추가 실시
         * // -----------------------------------------
         * 2. 호출 방식 :
         *
         *   C_WebviewCommonFunc.webviewSetDataStoreCookie(A_Webview.this, main_webview, "https://m.naver.com", "NAME=TWOK");
         *
         * // -----------------------------------------
         * */


        // [변수 선언 실시]
        String M_LOG = "";


        // [로직 처리 실시]
        try {

            // [널 체크 수행 실시]
            if (webview != null && C_Util.stringNotNullMulti(new String[]{domain, value}) == true && value.contains("=") == true){

                // [쿠키 매니저 선언 실시]
                CookieManager cookieManager = CookieManager.getInstance();
                cookieManager.setAcceptCookie(true);
                cookieManager.setAcceptThirdPartyCookies(webview, true);

                cookieManager.setCookie(domain, value);
                cookieManager.getInstance().flush();

                M_LOG = "[Success] :: Cookie Insert";

            }
            else {
                M_LOG = "[ERROR] :: domain , value is null";
            }

        } catch (Exception e) {
            M_LOG = "[EXCEPTION] :: " + String.valueOf(e.getMessage());

            S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
        }


        // [로그 출력 실시]
        //*
        // ===============================================================
        S_Log._F_(mContext, "웹뷰에 쿠키 및 세션 추가 실시", new String[]{
                "INPUT [domain] :: " + String.valueOf(domain),
                "INPUT [value] :: " + String.valueOf(value),
                "M_LOG :: " + String.valueOf(M_LOG)
        });
        // ===============================================================
        // */
    }
 

[결과 출력]

 

 
반응형
Comments