투케이2K

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

Kotlin

429. (kotlin/코틀린) [유틸 파일] 쿠키 매니저 사용해 도메인 설정 쿠키 및 세션 값 저장 - webviewSetDataStoreCookie

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

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

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

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


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


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

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

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

                    "[Success] :: Cookie Insert"

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

            } catch (e: Exception) {
                M_LOG = "[EXCEPTION] :: " + e.message.toString()
                S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e)
            }


            // [로그 출력 실시]
            //*
            // ===============================================================
            S_Log._F_(mContext!!, "웹뷰에 쿠키 및 세션 추가 실시", arrayOf(
                "INPUT [domain] :: $domain",
                "INPUT [value] :: $value",
                "M_LOG :: $M_LOG"
            ))
            // ===============================================================
            // */
        }
 

[결과 출력]


반응형
Comments