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

案例效果如图:

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

一:高德

高德: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. 解决Centos关闭You have new mail in /var/spool/mail/root提示(转)

    今天查看内存的时候 出现一天奇怪的提示 You have new mail in /var/spool/mail/root 有的时候每敲一下回车,就出来You have new mail in /va ...

  2. 1141 PAT Ranking of Institutions[难]

    1141 PAT Ranking of Institutions (25 分) After each PAT, the PAT Center will announce the ranking of ...

  3. rabbitmq报错type

    TypeError: exchange_declare() got an unexpected keyword argument 'type' 原因应该为pika版本不同导致的用法不同,解决方法为把t ...

  4. VUE 2.0在IE中打开页面空白的原因及解决方法

    前言 因为工作的需要,学习Vue2.0也有一段时间,最近在用Vue2.0的官方脚手架工具构建的项目,chrome中跑一直没有问题,但ie打开出现了bug: 问题 ie打开vue2.0项目空白,控制台报 ...

  5. phpcms发布到服务器修改

    请进行以下步骤的修改: 1.修改/caches/configs/system.php里面所有和域名有关的,把以前的老域名修改为新域名就可以了. 2.进行后台设置->站点管理 对相应的站点的域名进 ...

  6. XDU 1109

    #include<stdio.h> #define N 10007 #define maxn 1000005 int dp[maxn]; int main() { dp[]=,dp[]=, ...

  7. Oracle Union Union All 对查询结果集操作

    在Oracle中提供了三种类型的集合操作: 并(UNION).交(INTERSECT).差(MINUS) Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union Al ...

  8. hdu2609 How many

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=2609 题目: How many Time Limit: 2000/1000 MS (Java/Others ...

  9. Ubuntu 16.04 安装Postman

    Ubuntu 16.04 安装Postman: 1.官网下载地址:https://www.getpostman.com/根据机器类型选择64位下载. 2.进入下载目录,解压该文件sudo tar -x ...

  10. 使用selenium前学习HTML(2)——标签

    <!-- HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. HTML 段落是通过 <p> 标签进行定义的. HTML 链接是 ...