Android获取未安装或已安装apk的版本、图标等资源 .

在上篇博文中介绍了Android动态加载APK--代码安装、获取资源和Intent组件调用

本文是对上篇博文的补充,介绍下如何获取已安装和未安装apk的版本、图标等资源。

获取未安装apk的版本、图标等信息,这里使用上次的工程TestB.apk,使用PackageManager及PackageInfo类

private String getUninstallAPKInfo(Context ctx,String archiveFilePath) {
		//archiveFilePath=Environment.getExternalStorageDirectory()+"/"+"TestB.apk"
		String versionName = null;
		String appName = null;
		String pakName = null;
		PackageManager pm=ctx.getPackageManager();
		PackageInfo pakinfo=pm.getPackageArchiveInfo(archiveFilePath,PackageManager.GET_ACTIVITIES);
		if (pakinfo!=null) {
			ApplicationInfo appinfo=pakinfo.applicationInfo;
			versionName=pakinfo.versionName;
			Drawable icon=pm.getApplicationIcon(appinfo);
			appName=(String) pm.getApplicationLabel(appinfo);
			pakName=appinfo.packageName;

		}
		return versionName;
	}

获取已安装apk的信息,这里比较简单,网上的资料也非常多,就不做过的的介绍

private String getInstallAPKInfo(Context ctx,String pak) {
		//pak=com.nmbb.b
		String versionName = null;
		PackageManager pm=ctx.getPackageManager();
		PackageInfo pakinfo;
		try {
			pakinfo = pm.getPackageInfo(pak,PackageManager.GET_ACTIVITIES);
			if (pakinfo!=null) {
				versionName=pakinfo.versionName;
			}
		} catch (NameNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return versionName;
	}

原文地址:http://blog.csdn.net/zhang957411207/article/details/7604899

相关推荐