String apkPath = apk.getAbsolutePath();
Log.i(getClass().getName(), "addApk(): apkPath = " + apkPath);
PackageInfo localPackageInfo = pm.getPackageArchiveInfo(apkPath, 0);
localPackageInfo.applicationInfo.sourceDir = apkPath;//! null point exception
ne peut pas obtenir l'icône de l'apk, nom, version etc. J'ai également essayé le nombre magique 8192 au lieu de 0, mais ne fonctionne pas non plus. Quelqu'un a une suggestion? Merci d'avance!obtenir des informations apk à partir d'un fichier sdcard
j'ai changé mon code à ceci:
PackageInfo pi = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
if (pi != null) {
ApplicationInfo ai = pi.applicationInfo;
Drawable appIcon = pm.getApplicationIcon(ai);
String appName = pm.getApplicationLabel(ai).toString();
String appVersion = pi.versionName;
String pkgName = ai.packageName;
Log.i(getClass().getName(), "pkgName = " + pkgName + ", appName = " + appName + ", appVersion = " + appVersion);
adapter.add(new InstallItem(pkgName, appIcon, appName, appVersion));
}
et a obtenu la sortie comme ceci:
pkgname = com.chaozh.iReaderFree, appName = com.chaozh.iReaderFree, appVersion = 1.3 .2.0 ...
comme vous le voyez ici, je ne peux pas obtenir le nom de l'application et son icône est toujours la même icône par défaut. J'ai fatigué autre installateur sur le marché et ils fonctionnent très bien, alors quelqu'un me dire comment faire? THX.
certains Les icônes et les noms de pkg sont correctement affichés, mais la plupart de leurs icônes sont toujours par défaut et les noms sont pkgName. merci tout de même. – thecr0w