如何以编程方式从sdcard / storage .apk文件获取appicon?

时间:2018-08-20 05:39:00

标签: android programmatically appicon

我已经尝试使用ApplicationInfo,并且效果很好,但仅显示已安装的应用程序的appicon。但是我想以编程方式从文件路径(.apk文件)中获取appicon。

Drawable icon=applicationInfo.loadIcon(getPackageManager());

我想从apk文件中获取appicon。该文件已存储在存储中。

有没有办法从.apk文件中获取图标/缩略图,以便以编程方式显示appicon?

1 个答案:

答案 0 :(得分:2)

您可以从APK文件中获取该信息:

 String apkPath = "path/to/apk/file.apk"; 
 PackageManager packageManager = context.getPackageManager();
 PackageInfo packageInfo = packageManager.getPackageArchiveInfo(apkPath, 0);

 // you need to set this variables manually for some reason to get icon from APK file that has not been installed
 packageInfo.applicationInfo.sourceDir       = apkPath;
 packageInfo.applicationInfo.publicSourceDir = apkPath;

 Drawable icon = packageInfo.applicationInfo.loadIcon(packageManager);