當我試圖獲取已安裝的應用程序圖標時,有一個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 –