工具方法:
测试包名:
public static final String PN_GAODE_MAP = “com.autonavi.minimap”;// 高德地图包名
public static final String PN_BAIDU_MAP = “com.baidu.BaiduMap”; // 百度地图包名
public static final String PN_TENCENT_MAP = “com.tencent.map”; // 腾讯地图包名
/**
* 判断是否安装某个应用
*/
private boolean checkAppInstalled(Context context, String pkgName) {
if (pkgName== null || pkgName.isEmpty()) {
Toast.makeText(context, "没安装", Toast.LENGTH_SHORT).show();
return false;
}
final PackageManager packageManager = context.getPackageManager();
List<PackageInfo> info = packageManager.getInstalledPackages(0);
if(info == null || info.isEmpty()){
Toast.makeText(context, "没安装", Toast.LENGTH_SHORT).show();
return false;
}
for ( int i = 0; i < info.size(); i++ ) {
if(pkgName.equals(info.get(i).packageName)) {
Toast.makeText(context, "安装了", Toast.LENGTH_SHORT).show();
return true;
}
}
Toast.makeText(context, "没安装", Toast.LENGTH_SHORT).show();
return false;
}
调用上面方法即可判断是否安装:
boolean bd = checkAppInstalled(this,"com.baidu.BaiduMap");
boolean gd = checkAppInstalled(this,"com.autonavi.minimap");
boolean tx = checkAppInstalled(this,"com.tencent.map");