투케이2K

219. (kotlin/코틀린) [유틸 파일] getWidebean : 단말기 고유값 [와이드 빈] 확인 본문

Kotlin

219. (kotlin/코틀린) [유틸 파일] getWidebean : 단말기 고유값 [와이드 빈] 확인

투케이2K 2023. 3. 1. 12:41

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // ----------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [RETURN] getWidebean : 단말기 고유값 [와이드 빈] 확인
        // ----------------------------------------------------------------------------------
        fun getWidebean(mContext: Context?): String {

            /**
             * // -----------------------------------------
             * [getWidebean 메소드 설명]
             * // -----------------------------------------
             * 1. 단말기 고유값 [와이드 빈] 확인
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.getWidebean(A_Intro@this)
             *
             * // -----------------------------------------
             * 3. 리턴 데이터 :
             *
             * 4568E20374E3C7941099B15830B22C1C21AF0A60A96771D92FAA69A0A61FD7CA
             * // -----------------------------------------
             */


            // [리턴 값 선언]
            var returnData = ""


            // [로직 처리 실시]
            try {
                val WideUuid = UUID(-0x121074568629b532L, -0x5c37d8232ae2de13L)
                var mediaDrm: MediaDrm? = null
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
                    mediaDrm = MediaDrm(WideUuid)
                }
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
                    if (mediaDrm != null && mediaDrm.getPropertyByteArray(MediaDrm.PROPERTY_DEVICE_UNIQUE_ID) != null && mediaDrm.getPropertyByteArray(MediaDrm.PROPERTY_DEVICE_UNIQUE_ID).size > 0) {
                        returnData = C_Encryption.byteToHex(mediaDrm.getPropertyByteArray(MediaDrm.PROPERTY_DEVICE_UNIQUE_ID)).toString()
                        returnData = returnData.replace("0X".toRegex(), "")
                        returnData = returnData.replace("0x".toRegex(), "")
                        returnData = returnData.replace(" ".toRegex(), "")
                        returnData = returnData.toUpperCase()
                    }
                }
            } catch (e: Exception) {
                e.printStackTrace()
            }


            // [로그 출력 실시]
            ///*
            S_Log.ltd("================================================")
            S_Log.cnt("[" + ACTIVITY_NAME + " >> " + C_Util.getNowMethod(1) + " :: 단말기 고유값 [와이드 빈] 확인]")
            S_Log.cnt("-----------------------------------------")
            S_Log.cnt("[RETURN :: $returnData]")
            S_Log.lbd("================================================")
            // */


            // [리턴 반환 실시]
            return returnData
        }
 

[결과 출력]

 

D///===========//: ================================================
I/: [C_App >> getWidebean :: 단말기 고유값 [와이드 빈] 확인]
I/: -----------------------------------------
I/: [RETURN :: 4568E20374E3C7941099B15830B22C1C21AF0A60A96771D92FAA69A0A61FD7CA]
D///===========//: ================================================

 

반응형
Comments