SystemUtils. java tool class [java] package com. techrare. utils; import java. util. arrayList; import java. util. list; import android. content. context; import android. content. intent; import android. content. pm. packageInfo; import android. content. pm. packageManager; import android. content. pm. resolveInfo; /*** get mobile app information ** @ author Administrator **/public class SystemUtils {/*** query all apps in the mobile phone, including System Applications * @ param context */public static List <PackageInfo> getAllApps (Context context) {PackageManager pManager = context. getPackageManager (); // obtain the List of all applications in the mobile phone. <PackageInfo> paklist = pManager. getInstalledPackages (0); return paklist;}/*** query non-system applications in the mobile phone * @ param context * @ return */public static List <PackageInfo> getall1_nosystem (Context context) {List <PackageInfo> apps = new ArrayList <PackageInfo> (); PackageManager pManager = context. getPackageManager (); // obtain the List of all applications in the mobile phone. <PackageInfo> paklist = pManager. getInstalledPackages (0); for (int I = 0; I <paklist. size (); I ++) {PackageInfo pak = (PackageInfo) paklist. get (I); // determine whether the application is not pre-installed by the system if (pak. applicationInfo. flags & pak. applicationInfo. FLAG_SYSTEM) <= 0) {// customs applications apps. add (pak) ;}} return apps ;} /*** query all apps that support sharing on the mobile phone * @ param context * @ return */public static List <ResolveInfo> getmediaapps (Context context) {List <ResolveInfo> mApps = new ArrayList <ResolveInfo> (); Intent intent = new Intent (Intent. ACTION_SEND, null); intent. addCategory (Intent. CATEGORY_DEFAULT); intent. setType ("text/plain"); PackageManager pManager = context. getPackageManager (); mApps = pManager. queryIntentActivities (intent, PackageManager. COMPONENT_ENABLED_STATE_DEFAULT); return mApps;}/* remarks: Use PackageInfo to obtain information. Method: packageInfo. how to obtain packageName icon: packageManager. getApplicationIcon (applicationInfo): packageManager. getApplicationLabel (applicationInfo) Permission acquisition method: packageManager. getPackageInfo (packageName, PackageManager. GET_PERMISSIONS ). requestedPermissions obtain detailed information through ResolveInfo method: package name acquisition method: resolve. activityInfo. how to obtain packageName icon: resolve. loadIcon (packageManager) Application name acquisition method: resolve. loadLabel (packageManager ). toString ()*/}