在代码中判断:
一、可以通过获取某个应用信息并捕获未安装时的异常判断:
private boolean checkAppInstalled(Context context,String pkgName) {
if (pkgName== null || pkgName.isEmpty()) {
return false
}
PackageInfo packageInfo;
try {
packageInfo = context.getPackageManager().getPackageInfo(pkgName, 0);
} catch (NameNotFoundException e) {
packageInfo = null;
e.printStackTrace();
}
if(packageInfo == null) {
return false;
} else {
return true;//true为安装了,false为未安装
}
}
二、通过获取应用列表对比判断:
private boolean checkAppInstalled( Context context, String pkgName) {
if (pkgName== null || pkgName.isEmpty()) {
return false
}
final PackageManager packageManager = context.getPackageManager();
List<PackageInfo> info = packageManager.getInstalledPackages(0);
if(info == null || info.isEmpty())
return false;
for ( int i = 0; i < info.size(); i++ ) {
if(pkgName.equals(info.get(i).packageName)) {
return true;
}
}
return false;
}
本地判断:
一、本地查看是否安装:
在studio中的logcat中ctrl+F搜索报名判断是否安装
二、adb查看安装的应用列表:
adb shell pm list packages
注:查看应用版本号
adb shell dumpsys package