1
설치되지 않은 응용 프로그램에서 정보 (이름과 아이콘)를 가져 오려고합니다. 기본적으로 APK 파일을 가지고 있는데 아직 설치하지 않았지만 그 이름과 아이콘을 목록에 표시하고 싶습니다.응용 프로그램이 아닌 응용 프로그램의 정보
public void getReceivedApps() {
packageManager = getPackageManager();
System.out.println("TRANSFER-RECORDActivityThe received filePath is : " + receivedFilePath);
PackageInfo packageInfo = packageManager.getPackageArchiveInfo(receivedFilePath, PackageManager.GET_GIDS);
System.out.println("TRANSFER RECORD ACTIVYT : O TO STRING TO PACKAGE INFO : " + packageInfo.toString());
ApplicationInfo applicationInfo = packageInfo.applicationInfo;
Log.d(this.getClass().getName(), "packaginf0 : " + applicationInfo.toString());
String appName = applicationInfo.loadLabel(packageManager).toString();
System.out.println("TRANSFER RECORD ACTIVITY : THE APPNAME IS : " + appName);
Drawable icon = packageManager.getPackageArchiveInfo(receivedFilePath, PackageManager.GET_GIDS).applicationInfo.loadIcon(packageManager);
//then add it to a list.
}
문제를 그리고 그것은 나에게 loadIcon 및 loadLabel 지침에 NullPointerException이 제공된다
나는이 작업을 수행하려합니다.Btw는의 receivedFilePath
문자열이
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/"+getIntent().getStringExtra("receivedFilePath");)
그리고 문자열로 전송이 receivedFilePath 파일의 이름이입니다 APK 파일의 파일 경로 ((안 응용 프로그램)가
감사합니다. 효과가있었습니다! 분명히 archiveInfo는 설치된 응용 프로그램을위한 것일뿐입니다. –