Comment obtenir des applications installées sur Android et aucune application système?

Je veux obtenir toutes les applications qui s'affiche dans l'écran de menu. Mais, maintenant, je ne reçois que l'utilisateur a installé des applications ou de la totalité de la demande (notamment par le système d'application).

Mon code actuel est:

    final PackageManager pm = getActivity().getPackageManager();
    List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_META_DATA);

    ArrayList<PackageInfo> aux = new ArrayList<PackageInfo>();

    for (int i = 0; i < apps.size(); i++) {
        if (apps.get(i).versionName != null && ((apps.get(i).applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 1)) {
            aux.add(apps.get(i)); 
        }

Avec ce code, je peux obtenir à l'utilisateur les applications installées, et si je commente le 'si' instruction, je vais obtenir le système d'applications.

Donc, je veux obtenir de l'utilisateur les applications et les applications telles que les contacts, galerie et ainsi de suite.

Mise à JOUR:

    final PackageManager pm = getActivity().getPackageManager();
    Intent intent = new Intent(Intent.ACTION_MAIN, null);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    List<ResolveInfo> apps = pm.queryIntentActivities(intent, PackageManager.GET_META_DATA);

source d'informationauteur beni