2

안녕하세요, 내 응용 프로그램에 대한 경로를 제공하여 정보를 얻을 수있는 방법 (그냥 거기에 저장된) 내 SD에 응용 프로그램이 있습니다. 예를 들어, 경로가 /sdcard/download/pandora.apk이므로 경로를 아는 방법으로 아이콘을 얻을 수 있도록 pandora.apk를 내 다운로드 폴더에 두십시오. 덕분에 어떤 도움sdcard에서 응용 프로그램의 아이콘을 얻으십시오

위해이 코드를 시도했지만

final PackageManager pm = context.getPackageManager(); 
PackageInfo packageInfo = pm.getPackageArchiveInfo("/sdcard/download/pandora.apk", 0); 
Drawable icOn = packageInfo.applicationInfo.loadIcon(context.getPackageManager()); 

답변

4

그것의 이미 답이 여기에 NullPointerException이 도착했습니다. 내가 검색하지만 난 그냥 :) 잘 검색하지 않은 추측 찾던 찾을 수 없습니다 중복 미안 How to show icon of apk in my File manager

if (file.getPath().endsWith(".apk")) { 
String filePath = file.getPath(); 
PackageInfo packageInfo = context.getPackageManager().getPackageArchiveInfo(filePath, PackageManager.GET_ACTIVITIES); 
ApplicationInfo appInfo = packageInfo.applicationInfo; 
if (Build.VERSION.SDK_INT >= 8) { 
    appInfo.sourceDir = filePath; 
    appInfo.publicSourceDir = filePath; 
} 
Drawable icon = appInfo.loadIcon(context.getPackageManager()); 
bmpIcon = ((BitmapDrawable) icon).getBitmap(); 
} 
+0

감사 – user577732

관련 문제