一、Android打开高德地图的方法汇总

System.out.println("乘客端经纬度:" + mNaviTo.latitude + "," + mNaviTo.longitude);

/**

* @param sourceApplication 必填 第三方调用应用名称。如 amap

* @param poiname 非必填 POI 名称

* @param lat 必填 纬度

* @param lon 必填 经度

* @param dev 必填 是否偏移(0:lat 和 lon 是已经加密后的,不需要国测加密; 1:需要国测加密)

* @param style 必填 导航方式(0 速度快; 1 费用少; 2 路程短; 3 不走高速;4 躲避拥堵;5 不走高速且避免收费;6 不走高速且躲避拥堵;7 躲避收费和拥堵;8 不走高速躲避收费和拥堵))

*/

if (false) {

//Uri mUri = Uri.parse("geo:" + mNaviTo.latitude + "," + mNaviTo.longitude + "?q=");

Intent intent = null;

try {

intent = Intent.getIntent("androidamap://navi?sourceApplication=" + getString(R.string.app_name) + "&dname=aaaa&dlat=" + mNaviTo.latitude + "&dlon=" + mNaviTo.longitude + "&dev=1&style=0");

} catch (URISyntaxException e) {

e.printStackTrace();

}

// Intent intent = new Intent("android.intent.action.VIEW", mUri);

startActivity(intent);

}

if (false) {

StringBuffer stringBuffer = new StringBuffer("androidamap://navi?sourceApplication=")

.append(getString(R.string.app_name)).append("&dlat=").append(mNaviTo.latitude)

.append("&dlon=").append(mNaviTo.longitude)

.append("&dev=").append(1)

.append("&style=").append(0);

Intent intent = new Intent(Intent.ACTION_VIEW, android.net.Uri.parse(stringBuffer.toString()));

intent.addCategory(Intent.CATEGORY_DEFAULT);

intent.setPackage("com.autonavi.minimap");

startActivity(intent);

}

if (false) {

Intent intent = null;

try {

intent = Intent.getIntent("androidamap://viewReGeo?sourceApplication=HQMC&lat=" + mNaviTo.latitude + "&lon=" + mNaviTo.longitude + "&dev=0");

} catch (URISyntaxException e) {

e.printStackTrace();

}

startActivity(intent); //启动调用

}

if (false) {

try {

Intent intent = Intent.getIntent("androidamap://route?sourceApplication=softname&sname=我的位置&dlat=" + mNaviTo.latitude + "&dlon=" + mNaviTo.longitude + "&dname=" + "东郡华城广场|A座" + "&dev=0&m=0&t=1");

startActivity(intent); //启动调用

} catch (URISyntaxException e) {

e.printStackTrace();

}

}

if (false) {

Intent intent = new Intent("android.intent.action.VIEW",

android.net.Uri.parse("androidamap://showTraffic?sourceApplication=softname&poiid=BGVIS1&lat=" + mNaviTo.latitude + "&lon=" + mNaviTo.longitude + "&level=10&dev=0"));

intent.setPackage("com.autonavi.minimap");

startActivity(intent);

}

if (true) {

// 构造导航参数

NaviPara naviPara = new NaviPara();

// 设置终点位置

naviPara.setTargetPoint(new LatLng(mNaviTo.latitude, mNaviTo.longitude));

// 设置导航策略,这里是避免拥堵

naviPara.setNaviStyle(com.amap.api.maps.AMapUtils.DRIVING_AVOID_CONGESTION);

try {

// 调起高德地图导航

com.amap.api.maps.AMapUtils.openAMapNavi(naviPara, getContext().getApplicationContext());

} catch (Exception e) {

}

if (true) {//实现路线选择,多条路线可选择

String uriString = null;

StringBuilder builder = new StringBuilder("amapuri://route/plan?sourceApplication=maxuslife");

builder.append("&dlat=").append(mNaviTo.latitude)

.append("&dlon=").append(mNaviTo.longitude)

.append("&dname=").append(mTvTopStart.getText().toString())

.append("&dev=0")

.append("&t=0");

uriString = builder.toString();

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setPackage("com.autonavi.minimap");

intent.setData(Uri.parse(uriString));

startActivity(intent);

}

}

//调起百度地图

else if (msg.equals("百度地图")) {

if (ToolKt.isAvilible(getContext(), "com.baidu.BaiduMap")) {

LngLat lngLat = new LngLat(mNaviTo.longitude, mNaviTo.latitude);

LngLat bd_encrypt = bd_encrypt(lngLat);

StringBuilder builder = new StringBuilder("baidumap://map/direction?mode=driving&");

builder.append("&destination=latlng:")

.append(bd_encrypt.getLantitude())

.append(",")

.append(bd_encrypt.getLongitude())

.append("|name:")

.append(mTvTopStart.getText().toString());

String uriString = builder.toString();

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setPackage("com.baidu.BaiduMap");

intent.setData(Uri.parse(uriString));

startActivity(intent);

} else {

toast("请安装百度地图");

}

二、判断是否安装某个软件

/**

* 判断是否安装某个软件

*/

fun isAvilible(context: Context, packageName: String): Boolean {

//获取packagemanager

val packageManager = context.packageManager

//获取所有已安装程序的包信息

val packages = packageManager.getInstalledPackages(0)

//用于存储所有已安装程序的包名

val arrayList = ArrayList()

//从pinfo中将包名字逐一取出,压入pName list中

if (packages != null) {

for (p: PackageInfo in packages) {

val p = p.packageName

arrayList.add(p)

}

}

//判断packageNames中是否有目标程序的包名,有TRUE,没有FALSE

return arrayList.contains(packageName);

}

android切换高德导航,Android调起高德地图相关推荐

  1. 车机高德导航Linux版升级,高德地图车机版 最新版本V2.8.2地图数据+软件更新方法...

    最近购买了android的车载导航,导航用的是高德地图车机版,原车用的版本是2.0的版本,跟最近的2.8.2的差别有点大,这里就为大家分享一下如果将软件升级到2.8.2,地图也跟进更新到最新版本,方便 ...

  2. android radiobutton底部导航,android中Fragment+RadioButton实现底部导航栏

    在App中经常看到这样的tab底部导航栏 那么这种效果是如何实现,实现的方式有很多种,最常见的就是使用Fragment+RadioButton去实现.下面我们来写一个例子 首先我们先在activity ...

  3. android 固定底部导航,Android如何实现底部菜单固定到底部

    今天搞了很久的一个问题,导航菜单没有固定到底部,因为上面是ListView,可是没内容,于是就浮动上去了. 效果如下: 这里采用的是一个碎片,代码是: xmlns:android="http ...

  4. android切换字体颜色,Android开发实现按钮点击切换背景并修改文字颜色的方法

    本文实例讲述了Android开发实现按钮点击切换背景并修改文字颜色的方法.分享给大家供大家参考,具体如下: 其实原理很简单,用到的是selector,用来设置android:background和an ...

  5. linux版高德导航软件下载,【高德导航离线地图包下载】高德地图离线包 -ZOL软件下载...

    高德导航离线地图包正宗好地图正宗好应用,欢迎使用由pc操作系统领导企业微软为您冠名的windows8中国好地图--高德导航离线地图包. Win8系统第一款支持3d的地图应用,7500万用户的选择. 高 ...

  6. android radiobutton底部导航,Android底部导航栏之RadioButton

    一. 简介 1.1 原理 就是用RadioButton实现一组导航栏的布局,然后处理点击事件,动态替换Fragment 1.2 用到东西 RadioButton StateListDrawable 1 ...

  7. Android auto替换导航,Android Auto获得导航、停车等多方面新应用支持

    得益于谷歌的进一步开放, Android Auto 正获得一系列新的应用支持 ,涵盖导航.停车.充电等等.这些应用程序有包括为电动汽车和插电混动汽车的 Chargepoint 和 PlugShare, ...

  8. android切换成linux,Android SELinux Enforing 和 Permissive 模式切换

    1.Running mode adb shell setenforce 1       // Enforing adb shell setenforce 0       // Permissive 2 ...

  9. android 切换连接wifi,Android代码连接Wifi时被系统切换到其他Wifi的问题

    首先说下Android代码连接Wifi的几个步骤:(以下涉及到具体API函数自查哈,写的时候凭借印象大致写了下) 转载请注明出处: 1.首先要开启Wifi连接开关,mWifiManager.setWi ...

  10. android 切换语言 广播,Android App 应用内多语言切换

    App用户根据自己的语言喜好,设置app语言.语言设置只针对本app,并在下次启动应用时保留前一次启动设置. 切换语言代码: sharePreferences存入设置语言: Sharencesshar ...

最新文章

  1. 麦肯锡:优秀数据科学家的5个特征!
  2. 轻量型日志采集器 Filebeat基本使用
  3. 关于单片机串口发送和接收的问题
  4. cad多段线画圆弧方向_CAD箭头怎么画
  5. 【LeetCode】剑指 Offer 16. 数值的整数次方
  6. C语言小算法:ACSII码(多字节)和Unicode(宽字节)互转
  7. 持续集成环境(Hudson)搭建
  8. 大学英语 unit 2 第五题
  9. Presto(即席查询)笔记
  10. 移动硬盘提示格式化的处理
  11. 相关系数excel_给你一份数据,如何去分析?手把手教你用Excel进行数据分析
  12. 弘辽科技:多多进宝怎么找团长?多多进宝怎么找推手推广?
  13. 网络知识之——Mac地址和ping
  14. 空间换时间小例子(2)
  15. 创建系统映像时包含了 D、E 盘
  16. FPGA数字时钟系统-设计教程
  17. 用Photoshop制作LOMO风格暗角效果照片
  18. 易百教程wxpython_wxPython+opencv 打造自己的画图板
  19. 【matlab小白训练】凝聚层次聚类分析
  20. Revit综合插件使用教程,综合插件主要的几个功能(上)

热门文章

  1. Redux学习篇:关于store.subscribe()监听方法与取消监听的认识
  2. 2020-09-12
  3. 南方都市报:红心照耀MSN
  4. 开源高手推荐十大最流行开源软件
  5. 《SteamVR2.0/Input》(Yanlz+SteamVR+Input+OpenVR+Runtime+SteamVR_Action+立钻哥哥+==)
  6. 强制修改服务器时间,修改服务器时间脚本
  7. 关于IE无法打开站点XX已终止操作问题
  8. 全球与中国塑料拖链市场深度研究分析报告
  9. 个人博客建设——Hexo主题icarus的_config.icarus.yml配置参数注释
  10. # C语言使用树设计族谱