반응형
안드로이드에서 디바이스에 앱이 설치되어 잇는지 여부를 조회하는 방법
조회하려면 패키지명을 알아야 한다.
방법 1
String PACKAGE_NAME = "com.kakao.talk";
private boolean isPackageInstalled(String packageName, PackageManager packageManager) {
try {
packageManager.getPackageInfo(packageName, 0);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
// 사용 방법
PackageManager pm = getPackageManager();
if (isPackageInstalled(PACKAGE_NAME, pm)) {
// 설치
} else {
// 미설치
}
방법 2
String PACKAGE_NAME = "com.kakao.talk";
Intent intent = getPackageManager().getLaunchIntentForPackage(PACKAGE_NAME);
if (intent == null) {
// 미설치
} else {
// 설치
}
주의사항
Android 11(API Level 30)부터 설치 여부를 조회할 수 없고,
매니페스트에서 아래와 같이 선언 후 사용해야 한다.
<manifest>
<queries>
<package android:name="com.kakao.talk"/> // 패키지명
</queries>
</manifest>
참고
https://developer.android.com/reference/android/content/pm/PackageManager
반응형
'IT > 안드로이드+JAVA' 카테고리의 다른 글
[Android] Handler() deprecated (0) | 2021.10.07 |
---|---|
[Android] getDrawable() deprecated (1) | 2021.10.06 |
[Android Studio] Installed Build Tools Revision 31.0.0 is corrupted 에러 해결 방법 (0) | 2021.09.10 |
[Android] 내부 저장소 경로 가져오기 (0) | 2021.05.04 |
[Android] Play스토어 앱 업로드 절차 (0) | 2021.03.11 |