Android 判断手机是否安装某个应用
2016-12-26 08:49
591 查看
判断手机是否安装某个应用的方法有很多,但是有的也存在问题,下面写一个项目里常用的,能用的:
/**
* 判断手机是否安装某个应用
* @param context
* @param appPackageName 应用包名
* @return true:安装,false:未安装
*/
public static boolean isApplicationAvilible(Context context, String appPackageName) {
PackageManager packageManager = context.getPackageManager();// 获取packagemanager
List<PackageInfo> 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;}
/**
* 判断手机是否安装某个应用
* @param context
* @param appPackageName 应用包名
* @return true:安装,false:未安装
*/
public static boolean isApplicationAvilible(Context context, String appPackageName) {
PackageManager packageManager = context.getPackageManager();// 获取packagemanager
List<PackageInfo> 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;}
相关文章推荐
- Handle收不到消息的问题分析
- Android中Service+Notification断点续传下载
- Android 属性动画(Property Animation) 完全解析 (上)
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(七、购物车)
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(六、个人中心)
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(五、发现)
- INSTALLING ANDROID STUDIO + SDK AND ROSJAVA ENVIRONMENT
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(四、分类)
- 是时候来了解android7了:通知直接回复
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(三、首页)
- Android软键盘与界面内容的坑
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(二、主框架搭建)
- Android文件存储
- Android Studio 错误 Duplicate files copied in APK META-INF/xxxx
- Android studio 升级2.2 之后 Maven插件使用报错
- 重构之Android
- android 引导图 动态背景
- Android中attrs.xml(转载)
- android6.0以上不能读取外部存储权限问题
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(一、综述)