Pobierz wszystkie zainstalowane aplikacje w Androidzie: java.lang.ClassCastException

Tam jestjava.lang.ClassCastException kiedy próbuję uzyskać ikonę zainstalowanych aplikacji.

Oto mój kod.

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;
    }

gdzie,pm jest

PackageManager pm = getPackageManager();

i błąd pokazany wLogCat jest

Caused by: java.lang.ClassCastException: android.graphics.drawable.NinePatchDrawable cannot be cast to android.graphics.drawable.BitmapDrawable

Mam nadzieję, że każdy może mi pomóc.

questionAnswers(3)

yourAnswerToTheQuestion