List of usage examples for android.content.pm PackageManager getInstalledPackages
public abstract List<PackageInfo> getInstalledPackages(@PackageInfoFlags int flags);
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; }