투케이2K

778. (Android/Java) [유틸 파일] isMultiSimSupported : 듀얼 유심 장착 지원 여부 확인 본문

Android

778. (Android/Java) [유틸 파일] isMultiSimSupported : 듀얼 유심 장착 지원 여부 확인

투케이2K 2024. 4. 23. 20:06

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

 

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [isMultiSimSupported] : 듀얼 유심 장착 지원 여부 확인
    // -----------------------------------------------------------------------------------------
    @RequiresApi(Build.VERSION_CODES.Q)
    @RequiresPermission(value = "android.permission.READ_PHONE_STATE")
    public static Boolean isMultiSimSupported(Context mContext){

        /**
         * // -----------------------------------------
         * [isMultiSimSupported 메소드 설명]
         * // -----------------------------------------
         * 1. 듀얼 유심 장착 지원 여부 확인
         * // -----------------------------------------
         * 2. 호출 방법 :
         *
         * if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q){
         *
         *     C_StateCheck.isMultiSimSupported(A_Intro.this);
         *  }
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         *
         * 듀얼 유심 장착 지원 기기인 경우 = true / 아니면 false
         * // -----------------------------------------
         * 4. 필요 퍼미션 :
         *
         * <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
         * // -----------------------------------------
         * 5. 추가 설명 :
         *
         * 네트워크에 등록하기 위해 동시에 여러 SIM 카드 사용(예: 듀얼 대기 또는 듀얼 액티브)을 장치 및 이동통신사에서 지원하는지 여부를 반환합니다
         * // -----------------------------------------
         * */


        // [리턴 변수 선언 실시]
        boolean returnData = false;


        // [로직 처리 실시]
        try {
            TelephonyManager telephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);

            // [하드웨어 기기가 지원하지 않거나, 이동 통신사에서 제한하는 경우]
            if (telephonyManager.isMultiSimSupported() == TelephonyManager.MULTISIM_NOT_SUPPORTED_BY_HARDWARE
                    || telephonyManager.isMultiSimSupported() == TelephonyManager.MULTISIM_NOT_SUPPORTED_BY_CARRIER){
                
                // [리턴 값 변경]
                returnData = false;
            }
            else {
                // [리턴 값 변경]
                returnData = true;
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }


        // [로그 출력 실시]
        //*
        // ===============================================================
        S_Log._D_("듀얼 유심 장착 지원 여부 확인", new String[]{
                "RETURN :: " + String.valueOf(returnData)
        });
        // ===============================================================
        // */


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

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_StateCheck.isMultiSimSupported(C_StateCheck.java:1783)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-04-23 09:45:50 화요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 듀얼 유심 장착 지원 여부 확인]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: true]
D///===========//: ================================================

 

반응형
Comments