Example usage for android.content.pm PackageManager getInstalledPackages

List of usage examples for android.content.pm PackageManager getInstalledPackages

Introduction

In this page you can find the example usage for android.content.pm PackageManager getInstalledPackages.

Prototype

public abstract List<PackageInfo> getInstalledPackages(@PackageInfoFlags int flags);

Source Link

Document

Return a List of all packages that are installed for the current user.

Usage

From source file:com.gm.goldencity.util.Utils.java

/**
 * Get all applications of karina in device
 *
 * @param context Application context// w w w.  j  a  v a  2 s . c o m
 * @return
 */
public static String getKarinaPackages(Context context) {
    final PackageManager pm = context.getPackageManager();
    // get a list of installed apps.
    List<PackageInfo> packages = pm.getInstalledPackages(PackageManager.GET_META_DATA);
    // .getInstalledApplications(PackageManager.GET_META_DATA);

    String result = "";

    for (PackageInfo packageInfo : packages) {
        if (packageInfo.packageName.contains("karina")) {
            if (TextUtils.isEmpty(result))
                result = packageInfo.packageName + "(" + packageInfo.versionCode + ")";
            else
                result += ", " + packageInfo.packageName + "(" + packageInfo.versionCode + ")";
        }
    }
    return result;
}

From source file:com.example.util.Utils.java

/**
 * ???//from   w ww . j  a  v a 2 s  .co  m
 */
public static List<PackageInfo> getAllInstalledApps(Context context) {
    PackageManager pm = context.getPackageManager();
    List<PackageInfo> packages = pm.getInstalledPackages(0);
    List<PackageInfo> apps = new ArrayList<PackageInfo>();
    ArrayList<String> installed = new ArrayList<String>();
    for (PackageInfo info : packages) {
        apps.add(info);
        installed.add(info.packageName);
    }
    Session.get(context).setInstalledApps(installed);
    return apps;
}

From source file:simonlang.coastdove.core.ui.add_app.AppListLoader.java

@Override
public ArrayList<ApplicationInfo> loadInBackground() {
    final PackageManager packageManager = getContext().getPackageManager();
    List<PackageInfo> packageInfos = packageManager.getInstalledPackages(PackageManager.GET_ACTIVITIES);

    ArrayList<ApplicationInfo> data = new ArrayList<>();
    for (int i = 0; i < packageInfos.size(); ++i) {
        PackageInfo packageInfo = packageInfos.get(i);
        data.add(packageInfo.applicationInfo);
    }/*from  w  w w . j  a va2 s. c  om*/

    Collections.sort(data, new Comparator<ApplicationInfo>() {
        @Override
        public int compare(ApplicationInfo lhs, ApplicationInfo rhs) {
            String lhsAppName = lhs.loadLabel(packageManager).toString();
            String rhsAppName = rhs.loadLabel(packageManager).toString();
            return lhsAppName.compareTo(rhsAppName);
        }
    });

    return data;
}

From source file:com.example.util.Utils.java

/**
 * ??/* w  ww .j  a v a  2s.c om*/
 */
public static List<PackageInfo> getInstalledApps(Context context) {
    PackageManager pm = context.getPackageManager();
    final String ourPackageName = Session.get(context).getPackageName();
    List<PackageInfo> packages = pm.getInstalledPackages(0);
    List<PackageInfo> apps = new ArrayList<PackageInfo>();
    for (PackageInfo info : packages) {
        // ???
        if (((info.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0)
                && !ourPackageName.equals(info.packageName)) {
            apps.add(info);
        }
    }

    return apps;
}

From source file:com.mappn.gfan.common.util.Utils.java

/**
 * ?/*  w  ww.ja  v  a2s  .  com*/
 */
public static List<PackageInfo> getInstalledApps(Context context) {
    PackageManager pm = context.getPackageManager();
    final String ourPackageName = Session.get(context).getPackageName();
    List<PackageInfo> packages = pm.getInstalledPackages(0);
    List<PackageInfo> apps = new ArrayList<PackageInfo>();
    for (PackageInfo info : packages) {
        // ??
        if (((info.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0)
                && !ourPackageName.equals(info.packageName)) {
            apps.add(info);
        }
    }

    return apps;
}

From source file:com.github.michalbednarski.intentslab.browser.PermissionsFetcher.java

@Override
Object getEntries(Context context) {
    PackageManager pm = context.getPackageManager();
    List<PackageInfo> installedPackages = pm.getInstalledPackages(PackageManager.GET_PERMISSIONS);
    ArrayList<Component> foundPermissions = new ArrayList<Component>();
    final boolean grouped = mGrouped; // Avoid race conditions
    ArrayList<Category> apps = grouped ? new ArrayList<Category>() : null;

    for (PackageInfo aPackage : installedPackages) {
        if (aPackage.permissions == null || aPackage.permissions.length == 0) {
            continue;
        }/*from w  ww .j a va2  s  .c  om*/

        for (PermissionInfo permission : aPackage.permissions) {
            if (ComponentFetcher.checkProtectionLevel(permission, mProtectionFilter) && (mNameSubstring == null
                    || permission.name.toLowerCase().contains(mNameSubstring.toLowerCase()))) {
                Component component = new Component();
                component.title = permission.name;
                component.subtitle = String.valueOf(permission.loadLabel(pm));
                component.componentInfo = permission;
                foundPermissions.add(component);
            }
        }

        if (grouped && !foundPermissions.isEmpty()) {
            Category category = new Category();
            category.title = String.valueOf(aPackage.applicationInfo.loadLabel(pm));
            category.subtitle = aPackage.packageName;
            category.components = foundPermissions.toArray(new Component[foundPermissions.size()]);
            apps.add(category);
            foundPermissions.clear();
        }
    }
    return grouped ? apps.toArray(new Category[apps.size()])
            : foundPermissions.toArray(new Component[foundPermissions.size()]);
}

From source file:it.ms.theing.loquitur.functions.IntentInterface.java

/**
 * List All Apps//from www  . j  a v a 2s.  c  om
 * @return
 * A string containing the json array of json object :
 * Structure :
 * [ { name:<name>  , package:<package> }, .... ]
 */
@JavascriptInterface
public String listApps() {
    try {
        JSONArray ja = new JSONArray();
        PackageManager packman;
        packman = context.getPackageManager();
        List<PackageInfo> pak = packman.getInstalledPackages(0);
        for (PackageInfo pi : pak) {
            String name = (String) packman.getApplicationLabel(pi.applicationInfo);
            String pk = (String) pi.packageName;
            JSONObject jo = new JSONObject();
            try {
                jo.put("name", name);
                jo.put("package", pk);
                ja.put(jo);
            } catch (JSONException e) {
            }

        }
        return ja.toString();
    } catch (Exception e) {
        Utils.safe(e);
    }
    return "[ ]";
}

From source file:it.ms.theing.loquitur.functions.IntentInterface.java

/**
 * Find a similar app//from   w w w .j a v  a2 s  .co  m
 * @param compare
 * The name of the app to match with the list
 * @param minscore
 * The minimum accuracy
 * @return
 * The best matching
 */

@JavascriptInterface
public String matchApp(String compare, float minscore) {
    try {
        PackageManager packman;
        packman = context.getPackageManager();
        List<PackageInfo> pak = packman.getInstalledPackages(0);
        PackageInfo spi = null;
        for (PackageInfo pi : pak) {
            String name = (String) packman.getApplicationLabel(pi.applicationInfo);
            float score = Utils.match(name, compare);
            if (score > minscore) {
                minscore = score;
                spi = pi;
            }
        }
        if (spi == null)
            return "";
        String name = (String) packman.getApplicationLabel(spi.applicationInfo);
        String pk = (String) spi.packageName;
        JSONObject jo = new JSONObject();
        jo.put("name", name);
        jo.put("package", pk);
        return jo.toString();
    } catch (Exception e) {
        Utils.safe(e);
    }
    return "";
}

From source file:com.github.michalbednarski.intentslab.browser.ApplicationFetcher.java

@Override
Object getEntries(Context context) {
    PackageManager pm = context.getPackageManager();
    int requestedPackageInfoFlags = PackageManager.GET_DISABLED_COMPONENTS
            | (requireMetaDataSubstring != null ? PackageManager.GET_META_DATA : 0);

    List<PackageInfo> allPackages = pm.getInstalledPackages(requestedPackageInfoFlags);

    ArrayList<Component> selectedApps = new ArrayList<Component>();

    for (PackageInfo pack : allPackages) {
        ApplicationInfo applicationInfo = pack.applicationInfo;

        // Filter out non-applications
        if (applicationInfo == null) {
            continue;
        }// w w w  .ja v a  2s .  co  m

        // System app filter
        if ((((applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0 ? APP_TYPE_SYSTEM : APP_TYPE_USER)
                & appType) == 0) {
            continue;
        }

        // Metadata filter
        if (!checkMetaDataFilter(applicationInfo)) {
            continue;
        }

        // Build and add app descriptor
        Component app = new Component();
        app.title = String.valueOf(applicationInfo.loadLabel(pm));
        app.subtitle = pack.packageName;
        app.componentInfo = applicationInfo;
        selectedApps.add(app);

        // Allow cancelling task
        if (Thread.interrupted()) {
            return null;
        }
    }
    return selectedApps.toArray(new Component[selectedApps.size()]);
}

From source file:com.polyvi.xface.extension.XAppExt.java

/**
 * ???/*from w  ww.j  a  v a  2  s .c o m*/
 *
 * @param type
 *            "0":"1","2":
 * @return ??
 * @throws JSONException
 */
public JSONArray queryInstalledNativeApp(String type) throws JSONException {
    JSONArray appArray = new JSONArray();
    int appType = Integer.valueOf(type);
    PackageManager pm = getContext().getPackageManager();
    List<PackageInfo> packages = pm.getInstalledPackages(0);
    for (PackageInfo packageInfo : packages) {
        if (getContext().getPackageName().equals(packageInfo.applicationInfo.packageName))
            continue;
        switch (appType) {
        case 0:
            JSONObject obj = new JSONObject();
            obj.put(TAG_APP_NAME, pm.getApplicationLabel(packageInfo.applicationInfo).toString());
            obj.put(TAG_APP_ID, packageInfo.applicationInfo.packageName);
            obj.put(TAG_APP_ICON, drawableToBase64(pm.getApplicationIcon(packageInfo.applicationInfo)));
            appArray.put(obj);
            break;
        case 1:
            if ((packageInfo.applicationInfo.flags & 0x1) != 0)
                continue;
            JSONObject userAppObj = new JSONObject();
            userAppObj.put(TAG_APP_NAME, pm.getApplicationLabel(packageInfo.applicationInfo).toString());
            userAppObj.put(TAG_APP_ID, packageInfo.applicationInfo.packageName);
            userAppObj.put(TAG_APP_ICON, drawableToBase64(pm.getApplicationIcon(packageInfo.applicationInfo)));
            appArray.put(userAppObj);

            break;
        case 2:
            if ((packageInfo.applicationInfo.flags & 0x1) == 0)
                continue;
            JSONObject sysAppObj = new JSONObject();
            sysAppObj.put(TAG_APP_NAME, pm.getApplicationLabel(packageInfo.applicationInfo).toString());
            sysAppObj.put(TAG_APP_ID, packageInfo.applicationInfo.packageName);
            sysAppObj.put(TAG_APP_ICON, drawableToBase64(pm.getApplicationIcon(packageInfo.applicationInfo)));
            appArray.put(sysAppObj);
        }
    }
    return appArray;
}