투케이2K

509. (Android/Java) [android 12 / target 31] [유틸 파일] getPhoneNumber : 휴대폰 전화 번호 확인 (phone number) 본문

Android

509. (Android/Java) [android 12 / target 31] [유틸 파일] getPhoneNumber : 휴대폰 전화 번호 확인 (phone number)

투케이2K 2023. 3. 1. 18:51

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

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

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


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


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

            // [TelephonyManager 객체 생성 및 정보 가져오기]
            TelephonyManager telManager = (TelephonyManager) mContext.getSystemService(TELEPHONY_SERVICE);
            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 = String.valueOf(telManager.getLine1Number());
                LogData = "Success Permission";
            }

        }
        catch (Exception e){
            e.printStackTrace();
            LogData = e.getMessage();
        }


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


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

[결과 출력]

 

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

 

반응형
Comments