1、首先确定安装包是否安装方法
/**
* 检测程序是否安装
*
* @param packageName
* @return
*/
private boolean isInstalled(String packageName) {
PackageManager manager = getApplication().getPackageManager();
//获取所有已安装程序的包信息
List<PackageInfo> installedPackages = manager.getInstalledPackages(0);
if (installedPackages != null) {
for (PackageInfo info : installedPackages) {
if (info.packageName.equals(packageName))
return true;
}
}
return false;
}
2、调用百度地图功能
if (isInstalled("com.baidu.BaiduMap")) {
Intent intent = new Intent();
intent.setData(Uri.parse("baidumap://map/direction?destination=" + mAddressStr + // 终点
"&mode=driving" + // 导航路线方式
"&src=" + getPackageName()));
startActivity(intent); // 启动调用
}else{
Toast.makeText(MainActivity.this,"您没有安装百度地图,无法调用",Toast.LENGTH_SHORT).show();
}
3、调用高德地图功能
if (isInstalled("com.autonavi.minimap")) {
String uri="amapuri://route/plan/?sname=我的位置&dname="+mAddressStr+"&dev=0&t=0";
Intent intent = new Intent("android.intent.action.VIEW", android.net.Uri.parse(uri));
intent.setPackage("com.autonavi.minimap");
startActivity(intent);
}else {
Toast.makeText(MainActivity.this, "您没有安装高德地图,无法调用", Toast.LENGTH_SHORT).show();
}