1.獲取包管理器物件 PackageManager pm = context.getPackageManager(); 2.得到所有安裝的程式包名 List<PackageInfo> infos = pm.getInstallPackages(PackageManager.GET_UNINSTALLED_PACKAGES); 3.然後遍歷這個集合 for( PackageInfo packInfo : infos){ Drawable icon = packInfo.applicationInfo.loadIcon(pm); //獲取應用圖示 String appName = packInfo.applicationInfo.loadLabel(pm).toString(); //獲取應用名字 ApplicationInfo info = packInfo.applicationInfo; } 判斷是三方應用還是系統應用的方法 public boolean filterApp(ApplicationInfo info) { if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) { return true; } else if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { return true; } return false; }