반응형
배경:
다른 앱관에 상호작용을 할때 해당 앱이 설치되어 있는지 확인이 필요한 경우가 있다.
코드:
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
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드] shortcut의 구현 (0) | 2022.08.31 |
---|---|
[안드로이드] 앱 알림설정 on off 활성 비활성화 차단 방법 (0) | 2022.04.26 |
[android] 위치 정보 서비스 GPS/Network LocationTracker (Kotlin) (0) | 2021.11.25 |
[Android] EdtitText 필터 적용, 이모지 및 특수문자 입력 차단 (0) | 2021.11.23 |
[Android] data Binding + liveData 적용 주의 ui not updated (1) | 2021.11.11 |