最近做一个项目,有一个需要启动第三方应用,和微信的地图查看差不多,需要启动高德,百度或腾讯地图来查看;特来分享,希望有所帮助。

案例效果如图:

要想启动第三方;首先要知道他的包名

一:高德

高德:com.autonavi.minimap

高德接口说明:http://lbs.amap.com/api/amap-mobile/guide/android/route

你可以验证存不存在,不存在则可提示相关信息;

 if (isInstallByread("com.autonavi.minimap")) {

      //跳转处理
}else {
Toast.makeText(MainActivity.this,"未安装该应用",Toast.LENGTH_LONG).show();
} private boolean isInstallByread(String packageName) {
return new File("/data/data/" + packageName).exists();
}

高德文字规划路线

     //单独导航

        Intent intent = new Intent("android.intent.action.VIEW",
android.net.Uri.parse("amapuri://route/plan/?dlat=39.98848272&dlon=116.47560823&dev=0&t=0"));
//"androidamap://navi?sourceApplication=appname&poiname=fangheng&lat=26.57&lon=106.71&dev=1&style=2"
// amapuri://route/plan/?sname=A&did=BGVIS2&dlat=39.98848272&dlon=116.47560823&dname=B&dev=0&t=0
intent.setPackage("com.autonavi.minimap");
//context.startActivity(intent); //反地理编码
/*Intent inten1 = new Intent("android.intent.action.VIEW"
, android.net.Uri.parse("androidamap://viewReGeo?sourceApplication=softname&lat=26.57&lon=106.71&dev=1"));
inten1.setPackage("com.autonavi.minimap");// pkg=com.autonavi.minimap
inten1.addCategory("android.intent.category.DEFAULT");
context.startActivity(inten1);*/
//地理编码
Intent inten2 = new Intent("android.intent.action.VIEW",
android.net.Uri.parse("androidamap://keywordNavi?sourceApplication=softname&keyword=贵州省贵阳市&style=2"));
inten2.setPackage("com.autonavi.minimap");
inten2.addCategory("android.intent.category.DEFAULT");
startActivity(inten2);

二:百度

百度:com.autonavi.minimap

百度接口说明:http://lbsyun.baidu.com/index.php?title=uri/api/android

  // Intent intent = Intent.getIntent("intent://map/direction?origin=latlng:26.58&destination=latlng:26.57&mode=transit&src=某某公司#Intent;" + "scheme=bdapp;package=com.baidu.BaiduMap;end");

            //Intent intent = Intent.getIntent("intent://map/direction?origin=" + loc1 + "&destination=" + loc2 + "&mode=transit&src=某某公司#Intent;" + "scheme=bdapp;package=com.baidu.BaiduMap;end");
//Intent intent = Intent.getIntent("intent://map/direction?destination=latlng:26.57+106.71&mode=transit&src=某某公司#Intent;" + "scheme=bdapp;package=com.baidu.BaiduMap;end");
//起点 此处不传值默认选择当前位置
Intent intent = Intent.getIntent("intent://map/direction?destination=贵阳市粮食局&mode=driving&src=XX科技有限公司#Intent;" + "scheme=bdapp;package=com.baidu.BaiduMap;end"); /* Intent intent =new Intent(); intent.setData(Uri.parse("baidumap://map/direction?destination=26.57,106.71&mode=driving"));*/
startActivity(intent);

三:腾讯

腾讯接口说明:腾讯开发平台查看或者下载源码,源码中包含了各种方式的接口文档

    Intent intent =new  Intent();
//intent.setData(Uri.parse("qqmap://map/routeplan?type=drive&from=天坛南门&fromcoord=39.873145,116.413306&to=国家大剧院&tocoord=39.907380,116.388501"));
intent.setData(Uri.parse("qqmap://map/search?keyword=贵州省贵阳市")); //qqmap://map/geocoder?coord=39.904956,116.389449 //经纬度
//qqmap://map/search?keyword=小肥羊&bound=39.907293,116.368935,39.914996,116.379321 //搜索附件 startActivity(intent);

 源码点击下载

最新文章

  1. Android签名详解(debug和release)
  2. JUC回顾之-AQS同步器的实现原理
  3. hive安装(一)
  4. openNebula 模板实例化成虚拟机【参数名为VM_NAME】
  5. 浅析Netty的异步事件驱动(二)
  6. java8 之java.time
  7. Dynamips做CCNA的实验,说是找不到telnet的解决方案
  8. JavaScript - 基于原型的面向对象
  9. [LeetCode] The Maze 迷宫
  10. 毕业设计 Makefile 编写
  11. [HEOI2015]小Z的房间(矩阵树定理学习笔记)
  12. vue -webpack.dev.config.js模拟后台数据接口
  13. Nginx防压力测试
  14. Go语言规格说明书 之 通道 发送语句(send) 和 接收操作符(receive)
  15. kafka5 编写简单生产者
  16. leecode第十六题(最接近的三数之和)
  17. learning ddr DLL-off mode
  18. LeetCode第20题
  19. 【Spark】SparkStreaming-流处理-规则动态更新-解决方案
  20. 洛谷 Roy&October之取石子

热门文章

  1. To keep up-to-date with Latest Jordans 2016
  2. jquery模拟点击A标签的问题
  3. java知识框架
  4. 浅谈WLAN干扰与抗干扰技术
  5. web前端基础——初识JavaScript
  6. 【转载】IDEA:放置型塔防备忘录
  7. mysql慢查询导致故障
  8. etcd:从应用场景到实现原理的全方位解读 转自infoq
  9. 编译项目报错 lc.exe已退出,代码为-1
  10. SQL学习笔记之MySQL中真假“utf8” 问题