Notice
Recent Posts
Recent Comments
Link
투케이2K
704. (Android/Java) packageManager.getInstalledApplications 사용해 휴대폰에 설치 된 앱 패키지 명칭 목록 확인 본문
Android
704. (Android/Java) packageManager.getInstalledApplications 사용해 휴대폰에 설치 된 앱 패키지 명칭 목록 확인
투케이2K 2023. 12. 4. 20:28[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getAppInstallPackgesList : 휴대폰 기기에 설치 된 앱 패키지 목록 반환
// -----------------------------------------------------------------------------------------
public static ArrayList getAppInstallPackgesList(Context mContext) {
/**
* // -----------------------------------------
* [getAppInstallPackgesList 메소드 설명]
* // -----------------------------------------
* 1. 휴대폰 기기에 설치 된 앱 패키지 목록 반환
* // -----------------------------------------
* 2. 호출 방식 :
*
* C_App.getAppInstallPackgesList(A_Intro.this);
*
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* [
* "com.google.android.networkstack.tethering",
* "com.samsung.android.provider.filterprovider",
* .......,
* ]
*
* // -----------------------------------------
* 4. 필요 권한 :
*
* <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
* // -----------------------------------------
* */
// [리턴 값 선언]
ArrayList<String> returnData = new ArrayList<>();
String M_LOG = "";
// [로직 처리 실시]
try {
// [패키지 관리자 인스턴스 취득]
PackageManager packageManager = mContext.getPackageManager();
// [설치된 앱 목록 확인]
List<ApplicationInfo> applicationInfoList = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU){
applicationInfoList = packageManager.getInstalledApplications(PackageManager.ApplicationInfoFlags.of(0L));
}
else {
applicationInfoList = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
}
if (applicationInfoList != null && applicationInfoList.size()>0){
for (int i=0; i<applicationInfoList.size(); i++){
returnData.add(applicationInfoList.get(i).packageName);
}
M_LOG = "[Success] [get] applicationInfoList";
}
else {
M_LOG = "[Error] [get] applicationInfoList";
}
} catch (Exception e) {
M_LOG = "[Exception] :: " + String.valueOf(e.getMessage());
S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
}
// [로그 출력 실시]
///*
// ===============================================================
S_Log._D_("휴대폰 기기에 설치 된 앱 패키지 목록 반환", new String[]{
"M_LOG :: " + String.valueOf(M_LOG),
"RETURN :: " + String.valueOf(returnData)
});
// ===============================================================
// */
// [리턴 반환 실시]
return returnData;
}
[결과 출력]
D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_App.getAppInstallPackgesList(C_App.java:9597)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2023-12-04 09:43:00 월요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 휴대폰 기기에 설치 된 앱 패키지 목록 반환]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: [Success] [get] applicationInfoList]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: [com.google.android.networkstack.tethering, com.samsung.android.provider.filterprovider ....
D///===========//: ================================================
반응형
'Android' 카테고리의 다른 글
Comments