baidumap 判断是否安装百度地图客户端
一下调用andrid 百度地图的Intent
方法一:
try {intent = Intent.getIntent("intent://map/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving®ion=西安&referer=Autohome|GasStation#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");if(isInstallByread("com.baidu.BaiduMap")){startActivity(intent); //启动调用Log.e("GasStation", "百度地图客户端已经安装") ;}else{Log.e("GasStation", "没有安装百度地图客户端") ;}} catch (URISyntaxException e) {e.printStackTrace();}
但是,若客户端没有安装了百度地图客户端就会报 No Activity.... 直接会导致程序挂掉,这是开发者不希望看到的.所以在调用之前判断该手机是否安装了百度地图客户端,我们知道百度的包名为 com.baidu.BaiduMap
所以通过下面的方法进行判断:
/** * 判断是否安装目标应用 * @param packageName 目标应用安装后的包名 * @return 是否已安装目标应用 */ private boolean isInstallByread(String packageName) { return new File("/data/data/" + packageName).exists(); }
方法二:
Intent intent = null;
try {// 如果有安装百度地图 就启动百度地图 StringBuffer sbs = new StringBuffer(); sbs.append("intent://map/direction?origin=latlng:") // 我的位置 .append(latitude) .append(",") .append(longitude) .append("|name:") .append(getResources().getString(R.string.location)) // 去的位置 .append("&destination=latlng:") .append(overlayItem.getPoint().getLatitudeE6() / 1E6) // 经度 .append(",") .append(overlayItem.getPoint().getLongitudeE6() / 1E6)// 纬度 .append("|name:") .append(overlayItem.getSnippet().replaceAll("nbsp;|&", "")) // 城市 .append("&mode=driving®ion=") .append(App.area_name) .append("&referer=com.menu|menu#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end"); try { intent = Intent.getIntent(sbs.toString()); } catch (URISyntaxException e) { e.printStackTrace(); } startActivity(intent);
} catch (Exception e) {// 没有百度地图则弹出网页端 StringBuffer sb = new StringBuffer(); sb.append("http://api.map.baidu.com/direction?origin=latlng:") // 我的位置 .append(latitude) .append(",") .append(longitude) .append("|name:") .append(getResources().getString(R.string.location)) // 去的位置 .append("&destination=latlng:") .append(overlayItem.getPoint().getLatitudeE6() / 1E6) .append(",") .append(overlayItem.getPoint().getLongitudeE6() / 1E6) .append("|name:") .append(overlayItem.getSnippet().replaceAll("nbsp;|&", "")) // 城市 .append("&mode=driving®ion=").append(App.area_name) .append("&output=html"); Uri uri = Uri.parse(sb.toString()); intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
}
baidumap 判断是否安装百度地图客户端相关推荐
- baidumap vue 判断范围_百度地图 vue-baidu-map
//main.js import BaiduMap from 'common/components/vue-baidu-map' Vue.use(BaiduMap, { // ak 是在百度地图开发者 ...
- baidumap vue 判断范围_vue百度地图 + 定位的详解
vue 百度地图 + 定位 前提需要自己有百度的密钥,如没有可以去百度地图申请 一.在主目录下的index.html引入js,例如: 二.在webpack.base.conf.js配置文件中配置BMa ...
- 2022款红旗H5安装百度地图使用北斗导航
一.解决的问题: 1.免盒子.免长期占用USB数据线接口.(盒子或手机使用carlife需要占用一个USB数据接口) 2.车机屏幕导航,替代手机导航.(让车机真正工作起来) 3.可使用电脑对车机的百度 ...
- 简单的通过两点坐标判断当前两点间距离 ----百度地图 苹果定位
在做应用的时候,公司提出要做一个雷达功能,搜索附近的用户,但是不想用云检索.围了实现功能,需要在不同分辨率的屏幕上进行雷达扫描动画,雷达的半径在不同的手机上是不一样的.而我又没有在网上找到特别有用的材 ...
- Opensuse 13.2安装百度云客户端
首先,百度官方并未出Linux客户端,此客户端由第三方工程师开发,项目托管在github,地址:https://github.com/LiuLang/bcloud-packages 在Opensuse ...
- ubuntu安装百度云客户端
bcloud使用GPLv3协议发布. 源代码在这里: https://github.com/LiuLang/bcloud 各个主要发行版的安装包(deb, rpm等)在这里: https://gith ...
- ubuntu 安装百度云客户端
下载地址:http://pan.baidu.com/download 如果没有安装alien,安装 luo@luo-ThinkPad-W540:~$sudo apt-get install alien ...
- android 百度地图高德地图开发
实现百度地图和高德地图导航(方式) 如图:根据第三方地图来实现不同的出行方式 第一步:首先判断手机是否安装第三方导航应用如百度地图或者是高德地图 - 没有安装则提示安装应用 /*** 通过包名获取应用 ...
- java调用导航_android 调用百度地图,高德地图第三方APP进行导航
以前都是使用百度API在软件里面做一个百度地图出来这样感觉既浪费时间又浪费精力,这里就教大家直接使用Intent的方式调用手机上安装的百度地图客户端,访问我们所需要的路径规划等,//调起百度地图客户端 ...
- 手机php打开自带地图,android在自带的app中,调用手机自带的百度地图和高德地图去实现导航的功能...
1.此方法不需要集成百度的sdk 高德的sdk 节省了内存 2.只需要几行代码就能实现调用百度地图或者高德地图的sdk实现导航的功能 3.代码如下 private View.OnClickListe ...
最新文章
- Mac OS Terminal Commands
- 近期神奇机器学习应用大赏
- 01背包怎么不重复_带有重复物品的背包
- ASP正则表达式方面小笔记
- 论文浅尝 | 远程监督关系抽取的生成式对抗训练
- Python爬虫 Day 3
- 机虚拟磁盘附加到计算机上,Hyper-V 怎样拷贝文件至虚拟硬盘并附加到虚拟机上...
- STL之Ranges区间讨论
- Mujoco平面双足机器人模拟
- 棋牌漏洞游戏反汇编译破解修改透视案例分析
- Socket,好像也挺简单,可是,真够烦
- 投入产出模型分析 分配平衡方程组和消耗平衡方程组
- java protected用法_深入理解Java的protected修饰符
- 视图中的调用者权限控制bequeath current_user
- logback日志不打印到文件问题深入剖析
- Day of Week
- zotero 使用小技巧
- css3实现border渐变色
- 嵌入式项目实战——基于QT的视频监控系统设计(三)
- 项目:“表情包”制作---利用ffmpeg制作Gif动态图