안드로이드

[안드로이드] 앱(패키지) 설치 유무 확인

IT꿈나무 2022. 4. 15. 09:20
반응형

배경:

   다른 앱관에 상호작용을 할때 해당 앱이 설치되어 있는지 확인이 필요한 경우가 있다.

 

코드: 

public static boolean isAppInstalled(Activity activity, String strAppPackage) {
//        PackageManager pm = activity.getPackageManager();
//        PackageInfo pi;
//
//        Intent i = pm.getLaunchIntentForPackage(strAppPackage);
//        if(i==null){
//            return false;
//        }else{
//            return true;
//        }

        String mpackagename = strAppPackage;

        try {
            PackageManager pm = activity.getPackageManager();
            PackageInfo pi = pm.getPackageInfo(mpackagename.trim(), PackageManager.GET_META_DATA);
            ApplicationInfo appInfo = pi.applicationInfo;
            // 패키지가 있을 경우.
            MyLog.d(TAG,"Enabled value = " + appInfo.enabled);
            return true;
        }
        catch (PackageManager.NameNotFoundException e)
        {
            MyLog.d(TAG,"패키지가 설치 되어 있지 않습니다.");
            return false;
        }
    }

AndroidManifest.xml

    <queries>
        <package android:name="com.jky.sample" />
        <package android:name="com.jky.example" />
    </queries>

    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
        tools:ignore="QueryAllPackagesPermission" />

 

참고자료:

[1] 다른앱과 상호작용, https://developer.android.com/training/basics/intents/package-visibility?hl=ko

[2] query all package, https://developer.android.com/reference/kotlin/android/Manifest.permission?hl=ko#query_all_packages

반응형