对于APK文件
对于已安装的程序
PackageManager mPackageManager = getPackageManager();
PackageInfo p = mPackageManager.getPackageArchiveInfo(<file path>, 0);
if (p != null) {
ApplicationInfo appInfo = p.applicationInfo;
String appname = mPackageManager.getApplicationLabel(appInfo)
.toString();
String packageName = p.packageName;
String versionName = p.versionName;
Drawable icon = mPackageManager.getApplicationIcon(appInfo);
}
对于已安装的程序
// get all installed application
PackageManager mPackageManager = getPackageManager();
List<PackageInfo> packs = mPackageManager.getInstalledPackages(0);
int size = packs.size();
for (int i = 0; i < size; i++) {
PackageInfo p = packs.get(i);
if (p.applicationInfo.sourceDir.startsWith("/system/app")) {
// ignore system application
continue;
}
// get application detail
ApplicationInfo appInfo = p.applicationInfo;
String appname = mPackageManager.getApplicationLabel(appInfo)
.toString();
String packageName = p.packageName;
String versionName = p.versionName;
Drawable icon = mPackageManager.getApplicationIcon(appInfo);
}