当我试图获取已安装的应用程序图标时,有一个java.lang.ClassCastException
。在Android中获取所有安装的应用程序图标:java.lang.ClassCastException
这是我的代码。
public Bitmap getAppIcon(String path) {
PackageInfo pi = pm.getPackageArchiveInfo(path, 0);
pi.applicationInfo.sourceDir = path;
pi.applicationInfo.publicSourceDir = path;
Drawable icon = pi.applicationInfo.loadIcon(pm);
Bitmap APKicon = ((BitmapDrawable) icon).getBitmap();
return APKicon;
}
其中,pm
是
PackageManager pm = getPackageManager();
,并在LogCat
所示的错误是
Caused by: java.lang.ClassCastException: android.graphics.drawable.NinePatchDrawable cannot be cast to android.graphics.drawable.BitmapDrawable
希望有人能帮助我。
检查这个话题请http://stackoverflow.com/questions/10623570/how-to-programmatically-re-apply-a-9-patch-image-to -an-imageview –