투케이2K

415. (kotlin/코틀린) [유틸 파일] setCookieInsert : 쿠키 매니저 데이터 삽입 수행 - cookieManager 본문

Kotlin

415. (kotlin/코틀린) [유틸 파일] setCookieInsert : 쿠키 매니저 데이터 삽입 수행 - cookieManager

투케이2K 2023. 9. 10. 19:21

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [RETURN] setCookieInsert : 쿠키 매니저 데이터 삽입 수행
        // -----------------------------------------------------------------------------------------
        fun setCookieInsert(mContext: Context, webView: WebView, domain: String, value: String): Boolean {

            /**
             * // -----------------------------------------
             * [setCookieInsert  메소드 설명]
             * // -----------------------------------------
             * 1. 쿠키 매니저 데이터 삽입 수행
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.setCookieInsert(A_Intro@this, webView, "m.test.ac.kr", "JSESSIONID=61f0aa76ad66d123084d356a; domain=m.test.ac.kr; path=/")
             *
             * // -----------------------------------------
             */


            // [리턴 변수 선언]
            var returnData = false


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

                // [인풋 데이터 널 체크 수행]
                if (webView != null && C_Util.stringNotNull(domain) === true && C_Util.stringNotNull(value) === true) {

                    // -----------------------------------------
                    // TODO [쿠키 및 세션 관리를 위한 쿠키 매니저 선언]
                    // -----------------------------------------
                    val cookieManager = CookieManager.getInstance()
                    cookieManager.setAcceptCookie(true)
                    cookieManager.setAcceptThirdPartyCookies(webView, true) // [웹뷰 지정]
                    // -----------------------------------------


                    // -----------------------------------------
                    // TODO [쿠키 삽입 수행 실시]
                    // -----------------------------------------
                    cookieManager.setCookie(domain.trim { it <= ' ' }, value.trim { it <= ' ' }) // [쿠키 값 셋팅 실시]
                    CookieManager.getInstance().flush()


                    // -----------------------------------------
                    // TODO [리턴 데이터 삽입]
                    returnData = true
                    // -----------------------------------------
                }

            } catch (e: Exception) {
                S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e)
            }


            // [로그 출력 실시]
            ///*
            // ===============================================================
            S_Log._D_("쿠키 매니저 데이터 삽입 수행", arrayOf(
                "INPUT [domain] : $domain",
                "INPUT [value] : $value",
                "RETURN : $returnData"
            ))
            // ===============================================================
            // */


            // [리턴 반환 수행]
            return returnData
        }

 

반응형
Comments