检测地图app安装并且进入地图

来源:互联网 发布:mysql面试题及答案 编辑:程序博客网 时间:2024/06/01 15:25
public class PackageInstall {    //"com.baidu.BaiduMap"    //"com.autonavi.minimap"    public static boolean isAppInstalled(Context context, String packagename)    {        PackageInfo packageInfo;        try {            packageInfo = context.getPackageManager().getPackageInfo(packagename, 0);        }catch (PackageManager.NameNotFoundException e) {            packageInfo = null;            e.printStackTrace();        }        if(packageInfo ==null){            return false;        }else{            return true;        }    }}

打开百度地图:

 private void startBaiDuMapGuide(){        if(PackageInstall.isAppInstalled(ShopPostionTwoActivity.this,"com.baidu.BaiduMap")){            startNavi();        } else {            Toast.makeText(ShopPostionTwoActivity.this,"请先安装百度地图",Toast.LENGTH_SHORT).show();        }    }    /**     * 启用百度地图导航(native)     */    private void startNavi(){        //构建导航参数//        NaviParaOption paraOption = new NaviParaOption().startPoint(new LatLng(39.915291,116.403857))//                .endPoint(new LatLng(40.056858,116.308194)).startName("天安门").endName("百度大厦");        NaviParaOption paraOption = new NaviParaOption().startPoint(new LatLng(getIntent().getDoubleExtra("mylat",0.0000),getIntent().getDoubleExtra("mylng",0.0000)))                .endPoint(new LatLng(Double.valueOf(getIntent().getStringExtra("storelat")),Double.valueOf(getIntent().getStringExtra("storelng"))))                .startName(PublicStaticData.SHARED_PREFERENCES.getString("address",""))                .endName(getIntent().getStringExtra("detail"));        try {            BaiduMapNavigation.openBaiduMapNavi(paraOption,this);        }catch (BaiduMapAppNotSupportNaviException e){            e.printStackTrace();            showDialog();        }    }

打开高度地图:

private void startGaoDeMapGuide(){        if(PackageInstall.isAppInstalled(ShopPostionTwoActivity.this,"com.autonavi.minimap")){//androidamap://route?sourceApplication=softname&slat=%s&slon=%s&sname=我的位置&dlat=%s&dlon=%s&dname=%s&dev=0&m=0&t=1-->进入的是选择导航路线的页面            String map_url=String.format("androidamap://route?sourceApplication=softname&slat=%s&slon=%s&sname=我的位置&dlat=%s&dlon=%s&dname=%s&dev=0&m=0&t=1",                    getIntent().getDoubleExtra("mylat",0.0000),                    getIntent().getDoubleExtra("mylng",0.0000),                    Double.valueOf(getIntent().getStringExtra("storelat")),                    Double.valueOf(getIntent().getStringExtra("storelng")),                    getIntent().getStringExtra("detail"));// 进入导航方式选择页面-TangZd-20170419            // 进入导航,会在主页有所停留,返回时亦是-TangZd-20170419            String miniMap = String.format("androidamap://navi?sourceApplication=softname&poiname=%s&lat=%s&lon=%s&dev=1&style=2",                    getIntent().getStringExtra("detail"),                    Double.valueOf(getIntent().getStringExtra("storelat")),                    Double.valueOf(getIntent().getStringExtra("storelng")));            Intent intent = new Intent("android.intent.action.VIEW",android.net.Uri.parse(miniMap));//map_url));            intent.setPackage("com.autonavi.minimap");            startActivity(intent);        } else {            Toast.makeText(ShopPostionTwoActivity.this,"请先安装高德地图",Toast.LENGTH_SHORT).show();        }    }
原创粉丝点击