Android(安卓)判断手机是否安装某个应用
16lz
2021-01-26
转载:https://blog.csdn.net/u010880009/article/details/53883396
判断手机是否安装某个应用的方法有很多,但是有的也存在问题,下面写一个项目里常用的,能用的:
/** * 判断手机是否安装某个应用 * @param context * @param appPackageName 应用包名 * @return true:安装,false:未安装 */ public static boolean isApplicationAvilible(Context context, String appPackageName) { PackageManager packageManager = context.getPackageManager();// 获取packagemanager List pinfo = packageManager.getInstalledPackages(0);// 获取所有已安装程序的包信息 if (pinfo != null) { for (int i = 0; i < pinfo.size(); i++) { String pn = pinfo.get(i).packageName; if (appPackageName.equals(pn)) { return true; } } } return false; }
下面这个方法在使用的时候有些情况下会报错:java.lang.RuntimeException: Package manager has died
/** * 判断手机是否安装某个应用 * @param context * @param packageName 应用包名 * @return true:安装,false:未安装 * 该方法容易报错:java.lang.RuntimeException: Package manager has died */ public static boolean isAppInstallen(Context context ,String packageName){ PackageManager pm = context.getPackageManager(); boolean installed = false; try { pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES); installed = true; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); installed = false; } return installed; }
更多相关文章
- 《Android(安卓)JNI》05 在JNI中调用Java的函数
- Android悬浮通知无效的问题
- Android实现机制(三)——View事件分发机制
- Android(安卓)unbindservice异常相关问题
- Android(安卓)LiveData 使用详解
- Android(安卓)Studio(一)介绍
- Android开发者指南(6) —— AIDL
- Android——api阅读记录
- ActivityManagerService启动流程详解