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

案例效果如图:

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

一:高德

高德: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);

 源码点击下载

Android-----代码实现打开手机第三方应用APP的更多相关文章

  1. 微信内嵌浏览器打开手机浏览器下载APP(APK)的方法

    想必大家会经常碰到网页链接在微信内无法打开和微信内无法打开app下载页的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要有以下四点 1.网页链接被举报次数 ...

  2. Android总结之打开手机相册获取图片

    上一篇,总结了如何打开照相机获取图片,详情请看>>>> 这篇将总结如何打开手机存储(相册)来获取手机上的图片. 打开相册 在需要这个功能的类中,我们可以自定义一个方法openA ...

  3. 【转】Android,iOS打开手机QQ与指定用户聊天界面

    在浏览器中可以通过JS代码打开QQ并弹出聊天界面,一般作为客服QQ使用.而在移动端腾讯貌似没有公布提供类似API,但是却可以使用schema模式来启动手机QQ. 以下为具体代码: Android: S ...

  4. 如何通过包名打开手机里的APP

    目前已知的打开APP的方式有两种, 一种是通过openUrl打开,这种有一个严重的问题,即必须添加白名单,白名单之外的APP即时安装了也无法打开. 另一种就是今天的重点,通过包名打开APP.先上核心代 ...

  5. Android,iOS打开手机QQ与指定用户聊天界面

    在浏览器中能够通过JS代码打开QQ并弹出聊天界面.一般作为客服QQ使用. 而在移动端腾讯貌似没有发布提供相似API,可是却能够使用schema模式来启动手机QQ. 下面为详细代码: Android: ...

  6. 代码控制打电话、发短信、发邮件、打开手机app等操作

    很多时候我们需要利用我门自己的app进行一些打电话.发短信等的操作,那么如何利用代码实现呢,下面就介绍一些简单的方法来实现这些操作. 一.打电话: <1>最简单.最直接的方法----直接跳 ...

  7. 微信中扫描二维码自动打开手机系统默认浏览器下载APP(APK)

    很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难,只要我们实现微信跳转功能即可.下面给大家介绍这个功能 功能目的 生成微信跳转链接,实现微信内置浏览 ...

  8. 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP

    不管是app的下载链接还是普通文件的链接在微信内置浏览器或者QQ内置浏览器都会被屏蔽.这是微信对第三方下载域名实施的拦截政策.被拦截了用户在微信内打开就会提示“已停止访问该网页”. 那么当我们遇到这个 ...

  9. iOS打开手机QQ与指定用户聊天界面

    开发中遇到一个联系客服qq的需求,找到这么一个实现方法,先记录下来.大概的原理就是,iOS启动第三方应用是采用schema模式的,这有点像url,打开不同的界面使用不同的地址.但这个url怎么得来的还 ...

随机推荐

  1. 网页中Cache各字段含义

    Pragma 当该字段值为"no-cache"的时候(事实上现在RFC中也仅标明该可选值),会知会客户端不要对该资源读缓存,即每次都得向服务器发一次请求才行. Expires 有了 ...

  2. 模块讲解----sys

    sys:跟python解释器相关的信息 #命令行参数list,第一个元素时程序本身路径 print(sys.argv) 注意:执行脚本时,可以传参数. #退出程序,正常退出时exit(0) sys.e ...

  3. python 随机分类

    #encoding:utf-8import pandas as pdimport numpy as npfrom sklearn import datasets,linear_modelfrom sk ...

  4. linux mysql备份

    许多备份方案: http://blog.jobbole.com/14012/ 采用的: mysqldump ---user admin ---password=password mydatabase ...

  5. 【JXL】导出Excel

    基本设置 // File file = new File("d:\\writetest.xlsx");// WritableWorkbook wwb = Workbook.crea ...

  6. SQLSERVER2016 无域控AlwaysOn 实施步骤

    SQLSERVER2016 无域控AlwaysOn 实施步骤 步骤: 一.安装3个windows server 2016系统 1)在3台机器建立具有administrators权限的相同账号密码,本例 ...

  7. Django:学习笔记(8)——视图

    Django:学习笔记(8)——视图

  8. SpringCloud Config Server中{application}等占位符使用场景设置默认拉去分支

    Spring Cloud Config服务器支持一个Git仓库URL,其中包含{application}和{profile}(以及{label})的占位符. 1.各个占位符所代表的含义 applica ...

  9. JVM(3) 垃圾回收器与内存分配策略

    文章内容摘自:深入理解java虚拟机 第三章   对象已死? 1. 引用计数算法: 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何时刻计数器为0 ...

  10. Python 实例3—三级菜单

    老男孩培训学习: ''' Author:Ranxf ''' menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} } ...