Example usage for android.content.pm PackageManager getInstalledApplications

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

Introduction

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

Prototype

public abstract List<ApplicationInfo> getInstalledApplications(@ApplicationInfoFlags int flags);

Source Link

Document

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

Usage

From source file:com.tweetlanes.android.core.App.java

@Override
public void onCreate() {

    Log.d("tweetlanes url fetch", "*** New run");
    Log.d("AsyncTaskEx", "*** New run");
    Log.d("StatusCache", "*** New run");

    super.onCreate();

    java.util.logging.Logger.getLogger("org.apache.http.wire").setLevel(java.util.logging.Level.FINEST);
    java.util.logging.Logger.getLogger("org.apache.http.headers").setLevel(java.util.logging.Level.FINEST);

    System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
    System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
    System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "debug");
    System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http", "debug");
    System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.headers", "debug");

    try {// w  w w.  j ava  2  s  .co  m
        PackageManager packageManager = getPackageManager();
        PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), 0);
        mAppVersionName = packageInfo.versionName;

        List<ApplicationInfo> apps = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);

        for (ApplicationInfo app : apps) {
            if (app.packageName != null
                    && app.packageName.equalsIgnoreCase("com.chrislacy.actionlauncher.pro")) {
                mActionLauncherInstalled = true;
                break;
            }
        }

    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }

    mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    mPreferences.edit().putInt(SharedPreferencesConstants.VERSION, Constant.SHARED_PREFERENCES_VERSION);

    mAccounts = new ArrayList<AccountDescriptor>();
    updateTwitterAccountCount();

    SocialNetConstant.Type socialNetType = SocialNetConstant.Type.Twitter;
    AccountDescriptor currentAccountDescriptor = getCurrentAccount();
    if (currentAccountDescriptor != null) {
        socialNetType = currentAccountDescriptor.getSocialNetType();
        if (socialNetType == null) {
            socialNetType = SocialNetConstant.Type.Twitter;
        }
        TwitterManager.initModule(socialNetType,
                socialNetType == SocialNetConstant.Type.Twitter ? ConsumerKeyConstants.TWITTER_CONSUMER_KEY
                        : ConsumerKeyConstants.APPDOTNET_CONSUMER_KEY,
                socialNetType == SocialNetConstant.Type.Twitter ? ConsumerKeyConstants.TWITTER_CONSUMER_SECRET
                        : ConsumerKeyConstants.TWITTER_CONSUMER_SECRET,
                currentAccountDescriptor.getOAuthToken(), currentAccountDescriptor.getOAuthSecret(),
                currentAccountDescriptor.getAccountKey(), mConnectionStatusCallbacks);
    } else {
        TwitterManager.initModule(SocialNetConstant.Type.Twitter, ConsumerKeyConstants.TWITTER_CONSUMER_KEY,
                ConsumerKeyConstants.TWITTER_CONSUMER_SECRET, null, null, null, mConnectionStatusCallbacks);
    }

    setLaneDefinitions(socialNetType);

    AppSettings.initModule(this);
}

From source file:com.shafiq.mytwittle.App.java

@Override
public void onCreate() {

    Log.d("mytwittle url fetch", "*** New run");
    Log.d("AsyncTaskEx", "*** New run");
    Log.d("StatusCache", "*** New run");

    super.onCreate();

    java.util.logging.Logger.getLogger("org.apache.http.wire").setLevel(java.util.logging.Level.FINEST);
    java.util.logging.Logger.getLogger("org.apache.http.headers").setLevel(java.util.logging.Level.FINEST);

    System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
    System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
    System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "debug");
    System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http", "debug");
    System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.headers", "debug");

    try {//from  w ww  .ja v a 2 s.  c o m
        PackageManager packageManager = getPackageManager();
        PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), 0);
        mAppVersionNumber = packageInfo.versionCode;
        mAppVersionName = packageInfo.versionName;

        List<ApplicationInfo> apps = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);

        for (ApplicationInfo app : apps) {
            if (app.packageName != null && app.packageName.equalsIgnoreCase("com.shafiq.actionlauncher.pro")) {
                // mActionLauncherInstalled = true;
                break;
            }
        }

    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }

    mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    mPreferences.edit().putInt(SHARED_PREFERENCES_KEY_VERSION, Constant.SHARED_PREFERENCES_VERSION);

    mAccounts = new ArrayList<AccountDescriptor>();
    updateTwitterAccountCount();

    SocialNetConstant.Type socialNetType = SocialNetConstant.Type.Twitter;
    AccountDescriptor currentAccountDescriptor = getCurrentAccount();
    if (currentAccountDescriptor != null) {
        socialNetType = currentAccountDescriptor.getSocialNetType();
        if (socialNetType == null) {
            socialNetType = SocialNetConstant.Type.Twitter;
        }
        TwitterManager.initModule(socialNetType,
                socialNetType == SocialNetConstant.Type.Twitter ? Constant.TWITTER_CONSUMER_KEY
                        : Constant.APPDOTNET_CONSUMER_KEY,
                socialNetType == SocialNetConstant.Type.Twitter ? Constant.TWITTER_CONSUMER_SECRET
                        : Constant.TWITTER_CONSUMER_SECRET,
                currentAccountDescriptor.getOAuthToken(), currentAccountDescriptor.getOAuthSecret(),
                currentAccountDescriptor.getAccountKey(), mConnectionStatusCallbacks);
    } else {
        TwitterManager.initModule(SocialNetConstant.Type.Twitter, Constant.TWITTER_CONSUMER_KEY,
                Constant.TWITTER_CONSUMER_SECRET, null, null, null, mConnectionStatusCallbacks);
    }

    setLaneDefinitions(socialNetType);

    AppSettings.initModule(this);

    NotificationHelper.initModule();
}

From source file:com.nononsenseapps.notepad.ActivityMain.java

void isOldDonateVersionInstalled() {
    if (mHasPremiumAccess) {
        // already unlocked
        return;/*  w w w. java 2 s.c  o m*/
    }
    try {
        PackageManager pm = getPackageManager();
        List<ApplicationInfo> packages = pm.getInstalledApplications(0);
        for (ApplicationInfo packageInfo : packages) {
            if (packageInfo.packageName.equals("com.nononsenseapps.notepad_donate")) {
                migrateDonateUser();
                mHasPremiumAccess = true;
                // Allow them to donate again
                PreferenceManager.getDefaultSharedPreferences(ActivityMain.this).edit()
                        .putBoolean(PREMIUMSTATUS, true).commit();
                // Stop loop
                break;
            }
        }
    } catch (Exception e) {
        Log.d("nononsenseapps billing", "InApp billing cant be allowed to crash app, EVER");
    }
}

From source file:dev.ukanth.ufirewall.Api.java

/**
 * @param ctx application context (mandatory)
 * @return a list of applications/*from  w w w  .j  a va 2 s . co m*/
 */
public static List<PackageInfoData> getApps(Context ctx, GetAppList appList) {

    initSpecial();
    if (applications != null && applications.size() > 0) {
        // return cached instance
        return applications;
    }

    final SharedPreferences defaultPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
    final boolean enableVPN = defaultPrefs.getBoolean("enableVPN", false);
    final boolean enableLAN = defaultPrefs.getBoolean("enableLAN", false);
    final boolean enableRoam = defaultPrefs.getBoolean("enableRoam", true);

    final SharedPreferences prefs = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);

    final String savedPkg_wifi_uid = prefs.getString(PREF_WIFI_PKG_UIDS, "");
    final String savedPkg_3g_uid = prefs.getString(PREF_3G_PKG_UIDS, "");
    final String savedPkg_roam_uid = prefs.getString(PREF_ROAMING_PKG_UIDS, "");
    final String savedPkg_vpn_uid = prefs.getString(PREF_VPN_PKG_UIDS, "");
    final String savedPkg_lan_uid = prefs.getString(PREF_LAN_PKG_UIDS, "");

    List<Integer> selected_wifi = new ArrayList<Integer>();
    List<Integer> selected_3g = new ArrayList<Integer>();
    List<Integer> selected_roam = new ArrayList<Integer>();
    List<Integer> selected_vpn = new ArrayList<Integer>();
    List<Integer> selected_lan = new ArrayList<Integer>();

    selected_wifi = getListFromPref(savedPkg_wifi_uid);
    selected_3g = getListFromPref(savedPkg_3g_uid);

    if (enableRoam) {
        selected_roam = getListFromPref(savedPkg_roam_uid);
    }
    if (enableVPN) {
        selected_vpn = getListFromPref(savedPkg_vpn_uid);
    }
    if (enableLAN) {
        selected_lan = getListFromPref(savedPkg_lan_uid);
    }
    //revert back to old approach

    //always use the defaul preferences to store cache value - reduces the application usage size
    final SharedPreferences cachePrefs = ctx.getSharedPreferences("AFWallPrefs", Context.MODE_PRIVATE);

    int count = 0;
    try {
        final PackageManager pkgmanager = ctx.getPackageManager();
        final List<ApplicationInfo> installed = pkgmanager
                .getInstalledApplications(PackageManager.GET_META_DATA);
        SparseArray<PackageInfoData> syncMap = new SparseArray<PackageInfoData>();
        final Editor edit = cachePrefs.edit();
        boolean changed = false;
        String name = null;
        String cachekey = null;
        final String cacheLabel = "cache.label.";
        PackageInfoData app = null;
        ApplicationInfo apinfo = null;

        for (int i = 0; i < installed.size(); i++) {
            //for (final ApplicationInfo apinfo : installed) {
            count = count + 1;
            apinfo = installed.get(i);

            if (appList != null) {
                appList.doProgress(count);
            }

            boolean firstseen = false;
            app = syncMap.get(apinfo.uid);
            // filter applications which are not allowed to access the Internet
            if (app == null && PackageManager.PERMISSION_GRANTED != pkgmanager
                    .checkPermission(Manifest.permission.INTERNET, apinfo.packageName)) {
                continue;
            }
            // try to get the application label from our cache - getApplicationLabel() is horribly slow!!!!
            cachekey = cacheLabel + apinfo.packageName;
            name = prefs.getString(cachekey, "");
            if (name.length() == 0) {
                // get label and put on cache
                name = pkgmanager.getApplicationLabel(apinfo).toString();
                edit.putString(cachekey, name);
                changed = true;
                firstseen = true;
            }
            if (app == null) {
                app = new PackageInfoData();
                app.uid = apinfo.uid;
                app.names = new ArrayList<String>();
                app.names.add(name);
                app.appinfo = apinfo;
                app.pkgName = apinfo.packageName;
                syncMap.put(apinfo.uid, app);
            } else {
                app.names.add(name);
            }
            app.firstseen = firstseen;
            // check if this application is selected
            if (!app.selected_wifi && Collections.binarySearch(selected_wifi, app.uid) >= 0) {
                app.selected_wifi = true;
            }
            if (!app.selected_3g && Collections.binarySearch(selected_3g, app.uid) >= 0) {
                app.selected_3g = true;
            }
            if (enableRoam && !app.selected_roam && Collections.binarySearch(selected_roam, app.uid) >= 0) {
                app.selected_roam = true;
            }
            if (enableVPN && !app.selected_vpn && Collections.binarySearch(selected_vpn, app.uid) >= 0) {
                app.selected_vpn = true;
            }
            if (enableLAN && !app.selected_lan && Collections.binarySearch(selected_lan, app.uid) >= 0) {
                app.selected_lan = true;
            }

        }

        List<PackageInfoData> specialData = new ArrayList<PackageInfoData>();
        specialData.add(new PackageInfoData(SPECIAL_UID_ANY, ctx.getString(R.string.all_item),
                "dev.afwall.special.any"));
        specialData.add(new PackageInfoData(SPECIAL_UID_KERNEL, ctx.getString(R.string.kernel_item),
                "dev.afwall.special.kernel"));
        specialData.add(new PackageInfoData(SPECIAL_UID_TETHER, ctx.getString(R.string.tethering_item),
                "dev.afwall.special.tether"));
        //specialData.add(new PackageInfoData(SPECIAL_UID_DNSPROXY, ctx.getString(R.string.dnsproxy_item), "dev.afwall.special.dnsproxy"));
        specialData.add(new PackageInfoData(SPECIAL_UID_NTP, ctx.getString(R.string.ntp_item),
                "dev.afwall.special.ntp"));
        specialData
                .add(new PackageInfoData("root", ctx.getString(R.string.root_item), "dev.afwall.special.root"));
        specialData.add(new PackageInfoData("media", "Media server", "dev.afwall.special.media"));
        specialData.add(new PackageInfoData("vpn", "VPN networking", "dev.afwall.special.vpn"));
        specialData.add(new PackageInfoData("shell", "Linux shell", "dev.afwall.special.shell"));
        specialData.add(new PackageInfoData("gps", "GPS", "dev.afwall.special.gps"));
        specialData.add(new PackageInfoData("adb", "ADB (Android Debug Bridge)", "dev.afwall.special.adb"));

        if (specialApps == null) {
            specialApps = new HashMap<String, Integer>();
        }
        for (int i = 0; i < specialData.size(); i++) {
            app = specialData.get(i);
            specialApps.put(app.pkgName, app.uid);
            //default DNS/NTP
            if (app.uid != -1 && syncMap.get(app.uid) == null) {
                // check if this application is allowed
                if (!app.selected_wifi && Collections.binarySearch(selected_wifi, app.uid) >= 0) {
                    app.selected_wifi = true;
                }
                if (!app.selected_3g && Collections.binarySearch(selected_3g, app.uid) >= 0) {
                    app.selected_3g = true;
                }
                if (enableRoam && !app.selected_roam && Collections.binarySearch(selected_roam, app.uid) >= 0) {
                    app.selected_roam = true;
                }
                if (enableVPN && !app.selected_vpn && Collections.binarySearch(selected_vpn, app.uid) >= 0) {
                    app.selected_vpn = true;
                }
                if (enableLAN && !app.selected_lan && Collections.binarySearch(selected_lan, app.uid) >= 0) {
                    app.selected_lan = true;
                }
                syncMap.put(app.uid, app);
            }
        }

        if (changed) {
            edit.commit();
        }
        /* convert the map into an array */
        applications = new ArrayList<PackageInfoData>();
        for (int i = 0; i < syncMap.size(); i++) {
            applications.add(syncMap.valueAt(i));
        }

        return applications;
    } catch (Exception e) {
        alert(ctx, ctx.getString(R.string.error_common) + e);
    }
    return null;
}

From source file:com.android.settings.applications.CanBeOnSdCardChecker.java

@Override
public void onClick(DialogInterface dialog, int which) {
    if (mResetDialog == dialog) {
        final PackageManager pm = getActivity().getPackageManager();
        final IPackageManager mIPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
        final INotificationManager nm = INotificationManager.Stub
                .asInterface(ServiceManager.getService(Context.NOTIFICATION_SERVICE));
        final NetworkPolicyManager npm = NetworkPolicyManager.from(getActivity());
        final AppOpsManager aom = (AppOpsManager) getActivity().getSystemService(Context.APP_OPS_SERVICE);
        final Handler handler = new Handler(getActivity().getMainLooper());
        (new AsyncTask<Void, Void, Void>() {
            @Override/*from  ww  w .ja v  a2s.c  o  m*/
            protected Void doInBackground(Void... params) {
                List<ApplicationInfo> apps = pm
                        .getInstalledApplications(PackageManager.GET_DISABLED_COMPONENTS);
                for (int i = 0; i < apps.size(); i++) {
                    ApplicationInfo app = apps.get(i);
                    try {
                        if (DEBUG)
                            Log.v(TAG, "Enabling notifications: " + app.packageName);
                        nm.setNotificationsEnabledForPackage(app.packageName, app.uid, true);
                    } catch (android.os.RemoteException ex) {
                    }
                    if (!app.enabled) {
                        if (DEBUG)
                            Log.v(TAG, "Enabling app: " + app.packageName);
                        if (pm.getApplicationEnabledSetting(
                                app.packageName) == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER) {
                            pm.setApplicationEnabledSetting(app.packageName,
                                    PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
                                    PackageManager.DONT_KILL_APP);
                        }
                    }
                }
                try {
                    mIPm.resetPreferredActivities(UserHandle.myUserId());
                } catch (RemoteException e) {
                }
                aom.resetAllModes();
                final int[] restrictedUids = npm.getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
                final int currentUserId = ActivityManager.getCurrentUser();
                for (int uid : restrictedUids) {
                    // Only reset for current user
                    if (UserHandle.getUserId(uid) == currentUserId) {
                        if (DEBUG)
                            Log.v(TAG, "Clearing data policy: " + uid);
                        npm.setUidPolicy(uid, POLICY_NONE);
                    }
                }
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (DEBUG)
                            Log.v(TAG, "Done clearing");
                        if (getActivity() != null && mActivityResumed) {
                            if (DEBUG)
                                Log.v(TAG, "Updating UI!");
                            for (int i = 0; i < mTabs.size(); i++) {
                                TabInfo tab = mTabs.get(i);
                                if (tab.mApplications != null) {
                                    tab.mApplications.pause();
                                }
                            }
                            if (mCurTab != null) {
                                mCurTab.resume(mSortOrder);
                            }
                        }
                    }
                });
                return null;
            }
        }).execute();
    }
}

From source file:es.javocsoft.android.lib.toolbox.ToolBox.java

/**
 * Gets the list of system applications.
 * /*from  w  ww . ja  v a2  s .c  o m*/
 * @return   The list. If error the list will be empty.
 */
public static Set<String> system_getSystemApplicationList(Context context) {
    Set<String> systemApps = new HashSet<String>();

    try {
        final PackageManager pm = context.getPackageManager();
        final List<ApplicationInfo> installedApps = pm.getInstalledApplications(PackageManager.GET_META_DATA);
        for (ApplicationInfo app : installedApps) {
            if (system_isSystemPackage(app)) {
                systemApps.add(app.packageName);
            }
        }

    } catch (Exception e) {
        if (LOG_ENABLE) {
            Log.e(TAG, "Error getting system application list [" + e.getMessage() + "]", e);
        }
    }

    return systemApps;
}

From source file:org.uguess.android.sysinfo.ApplicationManager.java

private void loadApps() {
    if (progress != null) {
        progress.dismiss();/*from w  w  w  .jav  a  2  s.  c  o  m*/
    }
    progress = new ProgressDialog(getActivity());
    progress.setMessage(getResources().getText(R.string.loading));
    progress.setIndeterminate(true);
    progress.show();

    new Thread(new Runnable() {

        public void run() {
            final PackageManager pm = getActivity().getPackageManager();
            List<ApplicationInfo> allApps = pm.getInstalledApplications(0);

            final List<ApplicationInfo> filteredApps = filterApps(allApps);

            ArrayList<AppInfoHolder> dataList = new ArrayList<AppInfoHolder>();

            for (int i = 0, size = filteredApps.size(); i < size; i++) {
                ApplicationInfo info = filteredApps.get(i);

                AppInfoHolder holder = new AppInfoHolder();
                holder.appInfo = info;

                try {
                    PackageInfo pi = pm.getPackageInfo(info.packageName, 0);

                    holder.version = versionPrefix + " " //$NON-NLS-1$
                            + (pi.versionName == null ? String.valueOf(pi.versionCode) : pi.versionName);

                    holder.versionCode = pi.versionCode;

                    if (info.sourceDir != null && info.sourceDir.contains("/data/app-private")) //$NON-NLS-1$
                    {
                        holder.isPrivate = true;
                    }
                } catch (NameNotFoundException e) {
                    Log.e(ApplicationManager.class.getName(), e.getLocalizedMessage(), e);
                }

                dataList.add(holder);
            }

            handler.sendMessage(handler.obtainMessage(MSG_UPDATE, dataList));
        }
    }, "MainUpdater").start(); //$NON-NLS-1$
}

From source file:org.uguess.android.sysinfo.SiragonManager.java

/**
 * This checks the built-in app2sd storage info supported since Froyo
 *//*from  w  ww.java  2  s  .  c  om*/
private String[] getSystemA2SDStorageInfo() {
    Activity ctx = getActivity();
    final PackageManager pm = ctx.getPackageManager();
    List<ApplicationInfo> allApps = pm.getInstalledApplications(0);

    long total = 0;
    long free = 0;

    for (int i = 0, size = allApps.size(); i < size; i++) {
        ApplicationInfo info = allApps.get(i);

        if ((info.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
            String src = info.sourceDir;

            if (src != null) {
                File srcFile = new File(src);

                if (srcFile.canRead()) {
                    try {
                        StatFs stat = new StatFs(srcFile.getAbsolutePath());
                        long blockSize = stat.getBlockSize();

                        total += stat.getBlockCount() * blockSize;
                        free += stat.getAvailableBlocks() * blockSize;
                    } catch (Exception e) {
                        Log.e(SiragonManager.class.getName(), "Cannot access path: " //$NON-NLS-1$
                                + srcFile.getAbsolutePath(), e);
                    }
                }
            }
        }
    }

    if (total > 0) {
        String[] info = new String[2];
        info[0] = Formatter.formatFileSize(ctx, total);
        info[1] = Formatter.formatFileSize(ctx, free);

        return info;
    }

    return null;
}