public static boolean checkApp(Context context, String packageName){
PackageManager pm = context.getPackageManager();
List packs = pm.getInstalledPackages(0);
for (PackageInfo pi : packs){
if (pi.applicationInfo.packageName.equals(packageName)){
return true;
}
}
return false;
}
packageName取要检测软件的包名,例如"com.android.phone"
//获取所有安装程序信息
ListpackageInfos=getPackageManager().getInstalledPackages(0);
for (int i = 0; i < packageInfos.size(); i++) {
PackageInfo pInfo=packageInfos.get(i);
AllAppInfo allAppInfo=new AllAppInfo();
allAppInfo.setAppname(pInfo.applicationInfo.loadLabel(getPackageManager()).toString());//应用程序的名称
allAppInfo.setPackagename(pInfo.packageName);//应用程序的包
allAppInfo.setVersionCode(pInfo.versionCode);//版本号
allAppInfo.setLastInstal(pInfo.firstInstallTime);
//allAppInfo.setProvider(pInfo.providers);
allAppInfo.setInstalPath(pInfo.applicationInfo.sourceDir);
allAppInfo.setAppicon(pInfo.applicationInfo.loadIcon(getPackageManager()));
appList.add(allAppInfo);
}
获取到后你可以自己判断是否有你指定的程序
遍历所有已经安装的程序再判断