public static boolean checkAppInstall(Context context, String packageName) {
final PackageManager packageManager = context.getPackageManager();
List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0);
if (packageInfos != null) {
for (PackageInfo info : packageInfos) {
if (info.packageName.equals(packageName)) {
return true;
}
}
}
return false;
}
public static boolean appInstalledOrNot(Context context, String uri) {
PackageManager pm = context.getPackageManager();
List<PackageInfo> packageInfoList = pm.getInstalledPackages(PackageManager.GET_ACTIVITIES);
if (packageInfoList != null) {
for (PackageInfo packageInfo : packageInfoList) {
String packageName = packageInfo.packageName;
if (packageName != null && packageName.equals(uri)) {
return true;
}
}
}
return false;
}
获取所有已安装的程序:
public List<ApplicationInfo> getInstalledApplicationsList(PackageManager pm) {
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
return packages;
}
待验证的写法:
final PackageManager pm = getActivity().getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> apps = pm.queryIntentActivities(intent, PackageManager.GET_META_DATA);
PackageManager pm = getPackageManager();
List<PackageInfo> installedPackages = pm.getInstalledPackages(PackageManager.GET_META_DATA);
下面是存在兼容性的写法:
java.lang.RuntimeException: Package manager has died
public static boolean isAppInstalled(Context context, String uri) {
PackageManager pm = context.getPackageManager();
boolean installed = false;
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
installed = true;
} catch (PackageManager.NameNotFoundException e) {
installed = false;
}
return installed;
}
public static boolean isAppInstalled(Context context, String packageName) {
try {
context.getPackageManager().getApplicationInfo(packageName, 0);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
参考资料:
http://www.jianshu.com/p/2a1d052b8139
http://www.lai18.com/content/9484639.html
http://blog.youkuaiyun.com/u013067184/article/details/49358565