获取所有app的信息

		//获取到包的管理者
		PackageManager manager=context.getPackageManager();
<span style="white-space:pre">		</span>//获取所有程序的信息集合
		List<PackageInfo> installedPackages = manager.getInstalledPackages(0);
<span style="white-space:pre">		</span>//遍历获取各种信息
		for(PackageInfo info:installedPackages){
			
			//获取到应用程序的图标
			Drawable icon = info.applicationInfo.loadIcon(manager);
			//获取到应用程序名字
			String apkName = info.applicationInfo.loadLabel(manager).toString();
			//应用程序的包名
			String packageName = info.applicationInfo.packageName;
			//获取到apk资源的路径
			String sourceDir = info.applicationInfo.sourceDir;
			
			File file=new File(sourceDir);
			//apk大小
			long apkSize=file.length();
			
			//获取到安装应用程序的标记
			int flags=info.applicationInfo.flags;
			//判断是否为系统应用
			if((flags&ApplicationInfo.FLAG_SYSTEM)!=0){
				//表示系统app
				appInfo.setUserApp(false);
			}else{
				//表示用户app
				appInfo.setUserApp(true);
			}
			//判断安装在sd卡还是手机没存
			if((flags&ApplicationInfo.FLAG_EXTERNAL_STORAGE)!=0){
				//表示在sd卡
				appInfo.setRom(false);
			}else{
				//表示在手机内存
				appInfo.setRom(true);
			}

猜你喜欢

转载自blog.csdn.net/vice_Q/article/details/50583453
今日推荐