在上篇博文中介绍了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