I am an Android Developer

Friday, July 16, 2010

Android: Get installed Applications with Name, Package Name, Version and Icon

class PInfo {
    private String appname = "";
    private String pname = "";
    private String versionName = "";
    private int versionCode = 0;
    private Drawable icon;
    private void prettyPrint() {
        log(appname + "\t" + pname + "\t" + versionName + "\t" + versionCode + "\t");
    }
}

private void listPackages() {
    ArrayList apps = getInstalledApps(false); /* false = no system packages */
    final int max = apps.size();
    for (int i=0; i
        apps.get(i).prettyPrint();
    }
}

private ArrayList getInstalledApps(boolean getSysPackages) {
    ArrayList res = new ArrayList();       
    List packs = getPackageManager().getInstalledPackages(0);
    for(int i=0;i
        PackageInfo p = packs.get(i);
        if ((!getSysPackages) && (p.versionName == null)) {
            continue ;
        }
        PInfo newInfo = new PInfo();
        newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
        newInfo.pname = p.packageName;
        newInfo.versionName = p.versionName;
        newInfo.versionCode = p.versionCode;
        newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
        res.add(newInfo);
    }
    return res;
}

1 comment:

  1. Hello,

    I'm very new to Android development and I'm not really sure how to use this snippet. Would someone please provide me with an example? (Maybe a list (gui) using this?)

    Thanks!

    ReplyDelete