투케이2K

914. (Android/Java) [유틸 파일] getAppMinSdkVersion : 특정 앱 Min Sdk 버전 확인 - ApplicationInfo 본문

Android

914. (Android/Java) [유틸 파일] getAppMinSdkVersion : 특정 앱 Min Sdk 버전 확인 - ApplicationInfo

투케이2K 2024. 12. 8. 15:18

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

 

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java / Kotlin


- 개발 툴 : AndroidStudio


- 기술 및 구분 : 유틸 파일 / getAppMinSdkVersion / 특정 앱 Min Sdk 버전 확인

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------

  // -----------------------------------------------------------------------------------------
  // TODO [SEARCH FAST] : [RETURN] getAppMinSdkVersion : 특정 앱 Min Sdk 버전 확인
  // -----------------------------------------------------------------------------------------
  @RequiresApi(Build.VERSION_CODES.N)
  public static int getAppMinSdkVersion(Context mContext, String packageName) {

      /**
        * // -----------------------------------------
        * [getAppMinSdkVersion 메소드 설명]
        * // -----------------------------------------
        * 1. 특정 앱 Min Sdk 버전 확인
        * // -----------------------------------------
        * 2. 호출 방법 :
        *
        * if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        *      C_App.getAppMinSdkVersion(A_Main.this, "com.example.kotlinproject");
        * }
        * // -----------------------------------------
        * 3. 리턴 데이터 :
        *
        * build.gradle 에 설정 된 min sdk 버전 정보 (int / ex : 23)
        * // -----------------------------------------
        * 4. 필요 설정 : AndroidManifest.xml 파일
        *
        * <queries>
        *    <package android:name="com.example.kotlinproject" />
        * </queries>
        * // -----------------------------------------
        * */


      // [리턴 변수 선언]
      int returnData = -1;
      String M_LOG = "";


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

          // [인풋 데이터 널 체크]
          if (mContext != null && C_Util.stringNotNull(packageName) == true){

              try {

                  // [PackageInfo 선언]
                  PackageInfo pi = null;

                  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU){
                      pi = mContext.getPackageManager().getPackageInfo(packageName, PackageManager.PackageInfoFlags.of((long) 0));
                  }
                  else {
                      pi = mContext.getPackageManager().getPackageInfo(packageName, 0);
                  }

                  ApplicationInfo appInfo = pi.applicationInfo;

                  M_LOG += "\n" + "packageName : " + String.valueOf(packageName);
                  M_LOG += "\n" + "minSdkVersion : " + String.valueOf(appInfo.minSdkVersion);

                  returnData = appInfo.minSdkVersion;
              }
              catch (Exception eq){
                  eq.printStackTrace();
                  M_LOG = "[Exception] : " + String.valueOf(eq.getMessage());
              }

          }
          else {
              M_LOG = "[Error] : Input Data Is Null";
          }

      } catch (Exception e) {
          S_Log._printStackTrace_(mContext, S_FinalData.LOG_BUG_STATE, null, e);
      }


      // [로그 출력 실시]
      ///*
      // ===============================================================
      S_Log._D_("특정 앱 Min Sdk 버전 확인", new String[]{
              "M_LOG :: " + String.valueOf(M_LOG),
              "RETURN :: " + String.valueOf(returnData)
      });
      // ===============================================================
      // */


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

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[결과 출력]
// --------------------------------------------------------------------------------------

===================================================================
[LOG :: CLASS PLACE :: C_App.getAppMinSdkVersion]
----------------------------------------------------
[LOG :: NOW TIME :: 2024-12-08 15:05:47 일요일]
----------------------------------------------------
[LOG :: DESCRIPTION :: 특정 앱 Min Sdk 버전 확인]
----------------------------------------------------
[LOG :: M_LOG :: 
packageName : com.example.kotlinproject
minSdkVersion : 21]
----------------------------------------------------
[LOG :: RETURN :: 21]
===================================================================

// --------------------------------------------------------------------------------------

 

반응형
Comments