안드로이드 11이상 부터 패키지명으로 외부 앱 실행시 AndroidManifest.xml에 추가
<queries>
<package android:name="kr.go.mobileid" />
</queries>
또는 (아래코드 사용하면 앱심사때 엄청 빡쎄게 심사 받아야됨 해당 퍼미션 사용한 이유에 대해서 소명해야되지만 거의 승인 안남)
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />
public static boolean isAppInstalled(Context context, String package_id) {
try {
PackageInfo packageInfo = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
packageInfo = context.getPackageManager().getPackageInfo(package_id, PackageManager.PackageInfoFlags.of((long) PackageManager.GET_ACTIVITIES));
} else {
packageInfo = context.getPackageManager().getPackageInfo(package_id, PackageManager.GET_ACTIVITIES);
}
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
또는
Intent intent = new Intent("verify", Uri.parse("mobileid://verify"));
intent.setPackage("kr.go.mobileid");
ComponentName componentName = intent2.resolveActivity(getContext().getPackageManager());
if (componentName != null) {
// 앱이 존재함
}
'Android(Java)' 카테고리의 다른 글
[Java] killProcess 앱 종료해도 다시 실행되는 문제 (0) | 2024.03.27 |
---|---|
[Android] Mac OS 안드로이드 스튜디오에 내장된 JRE에 인증서를 추가 (0) | 2024.03.26 |
[Java] 폴더블 앞뒤 화면전환시 웹뷰 상태 유지 (0) | 2024.03.22 |
[Android] 안드로이드 버전 정보 확인 사이트 (0) | 2024.03.15 |
[Java] base64 형태의 파일 저장 및 로컬푸쉬 알림 (0) | 2024.03.15 |