투케이2K

220. (kotlin/코틀린) [android 12 / target 31] [유틸 파일] getPhoneNumber : 휴대폰 전화 번호 확인 (phone number) 본문

Kotlin

220. (kotlin/코틀린) [android 12 / target 31] [유틸 파일] getPhoneNumber : 휴대폰 전화 번호 확인 (phone number)

투케이2K 2023. 3. 1. 19:58

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // ----------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [RETURN] getPhoneNumber : 휴대폰 전화 번호 확인
        // ----------------------------------------------------------------------------------
        fun getPhoneNumber(mContext: Context): String {

            /**
             * -------------------------------------------
             * [getPhoneNumber 메소드 설명]
             * -------------------------------------------
             * 1. TelephonyManager 를 사용해 단말기 정보를 가져올 수 있습니다
             * -------------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.getPhoneNumber(A_Intro@this)
             *
             * -------------------------------------------
             * 3. 리턴 데이터 :
             *
             * 01012345678
             * -------------------------------------------
             * 4. 필요 퍼미션 : [사전에 사용자로부터 퍼미션 인증을 모두 받아야 합니다]
             *
             * <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
             * <uses-permission android:name="android.permission.READ_SMS"></uses-permission>
             * <uses-permission android:name="android.permission.READ_PHONE_NUMBERS"></uses-permission>
             * -------------------------------------------
             */


            // [리턴 변수 선언 실시]
            var returnData = ""
            var LogData = ""


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

                // [TelephonyManager 객체 생성 및 정보 가져오기]
                val telManager = mContext.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
                if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED
                    && ActivityCompat.checkSelfPermission(mContext, Manifest.permission.READ_PHONE_NUMBERS) != PackageManager.PERMISSION_GRANTED
                    && ActivityCompat.checkSelfPermission(mContext, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {

                    // [퍼미션이 부여되어있지 않은 경우 종료]
                    LogData = "Permission not granted"
                } else {

                    // [리턴 변수에 삽입]
                    returnData = telManager.line1Number.toString()
                    LogData = "Success Permission"
                }
            } catch (e: Exception) {
                e.printStackTrace()
                LogData = e.message.toString()
            }


            // [로그 출력 실시]
            S_Log.ltd("================================================")
            S_Log.cnt("[" + ACTIVITY_NAME + " >> " + C_Util.getNowMethod(1) + " :: 휴대폰 전화 번호 확인]")
            S_Log.cnt("-----------------------------------------")
            S_Log.cnt("[LOG :: $LogData]")
            S_Log.cnt("-----------------------------------------")
            S_Log.cnt("[RETURN :: $returnData]")
            S_Log.lbd("================================================")


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

[결과 출력]

 

D///===========//: ================================================
I/: [C_App >> getPhoneNumber :: 휴대폰 전화 번호 확인]
I/: -----------------------------------------
I/: [LOG :: Success Permission]
I/: -----------------------------------------
I/: [RETURN :: 01012345678]
D///===========//: ================================================

 

반응형
Comments