본문 바로가기
프로그래밍/안드로이드

[안드로이드] 특정 앱이 설치되어 있는지 확인하는 방법

by 천상IT 2021. 12. 29.
반응형

안드로이드에서 특정 앱이 설치되어 있는지 확인하는 방법을 알아보겠습니다.

특정 앱이 설치되어 있는지 확인하기 위해서는 먼저 해당 앱의 패키지명을 알아야합니다.

 

카카오톡의 패키지명을 기준으로 설명드리겠습니다.

카카오톡의 패키지명은 'com.kakao.talk'입니다.

 

String packagename= "com.kakao.talk";

 

아래는 패키지명이 설치되어 있는지 검색하는 메서드입니다.

public static boolean isInstallPackage(Context context, String packagename){

    String mpackagename = packagename;

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

 

한가지 주의사항은 Android 11(API 30)에서는

매니페스트파일(AndroidManifest.xml)에서 아래와 같이 사전선언이 필요합니다.

<manifest>
    <queries>
        <package android:name="com.kakao.talk"/>
    </queries>
</manifest>

 

https://developer.android.google.cn/training/basics/intents/package-visibility?hl=ko

 

패키지 공개 상태 관리  |  Android 개발자  |  Android Developers

앱을 만들 때는 기기에 설치된 다른 앱, 즉 내 앱에서 액세스하려는 앱을 표시하는 패키지 집합을 고려하는 것이 중요합니다. 앱이 Android 11(API 수준 30) 이상을 타겟팅한다면 시스템에서 일부 앱

developer.android.google.cn

 

이상으로 안드로이드에서 특정 앱이 설치되어 있는지 확인하는 방법을 알아보았습니다.

오늘도 내일도 항상 즐거운 시간만 가득하세요~

 

반응형

댓글