Android根据目标地址选择高德和百度地图进行导航功能

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();
                }

 


版权声明:本文为f552126367原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。