【android】獲取手機安裝的所有程式

opensmarty發表於2024-04-23

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;
    }

相關文章