Android通过Intent来调用第三方地图
来源:互联网 发布:大数据 管理平台 编辑:程序博客网 时间:2024/05/16 16:58
关于APP的URL Scheme相关内容这里就不介绍了 大家可以自行去研究研究
这里主要介绍地图的相关知识,未来有时间给大家上个demo。
百度地图:http://lbsyun.baidu.com/index.php?title=uri/api/android
高德地图:http://lbs.amap.com/api/amap-mobile/guide/ios/map
腾讯地图:http://lbs.qq.com/uri_v1/index.html
谷歌地图:https://developers.google.com/maps/documentation/android-api/intents
判断一下是否安装此APP
//验证各种导航地图是否安装 public static boolean isAvilible(Context context, String packageName) { //获取packagemanager final PackageManager packageManager = context.getPackageManager(); //获取所有已安装程序的包信息 List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0); //用于存储所有已安装程序的包名 List<String> packageNames = new ArrayList<String>(); //从pinfo中将包名字逐一取出,压入pName list中 if (packageInfos != null) { for (int i = 0; i < packageInfos.size(); i++) { String packName = packageInfos.get(i).packageName; packageNames.add(packName); } } //判断packageNames中是否有目标程序的包名,有TRUE,没有FALSE return packageNames.contains(packageName); }
百度地图跳转相关代码
if(isAvilible(context,"com.baidu.BaiduMap")){//传入指定应用包名 try { // intent = Intent.getIntent("intent://map/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving®ion=西安&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end"); intent = Intent.getIntent("intent://map/direction?" + //"origin=latlng:"+"34.264642646862,108.95108518068&" + //起点 此处不传值默认选择当前位置 "destination=latlng:"+location[0]+","+location[1]+"|name:我的目的地"+ //终点 "&mode=driving&" + //导航路线方式 "region=北京" + // "&src=慧医#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end"); context.startActivity(intent); //启动调用 } catch (URISyntaxException e) { Log.e("intent", e.getMessage()); } }else{//未安装 //market为路径,id为包名 //显示手机上所有的market商店 Toast.makeText(context, "您尚未安装百度地图", Toast.LENGTH_LONG).show(); Uri uri = Uri.parse("market://details?id=com.baidu.BaiduMap"); intent = new Intent(Intent.ACTION_VIEW, uri); context.startActivity(intent); }
高德地图相关代码:
if (isAvilible(context, "com.autonavi.minimap")) { try{ intent = Intent.getIntent("androidamap://navi?sourceApplication=慧医&poiname=我的目的地&lat="+location[0]+"&lon="+location[1]+"&dev=0"); context.startActivity(intent); } catch (URISyntaxException e) {e.printStackTrace(); } }else{ Toast.makeText(context, "您尚未安装高德地图", Toast.LENGTH_LONG).show(); Uri uri = Uri.parse("market://details?id=com.autonavi.minimap"); intent = new Intent(Intent.ACTION_VIEW, uri); context.startActivity(intent); }
谷歌地图:
if (isAvilible(context,"com.google.android.apps.maps")) { Uri gmmIntentUri = Uri.parse("google.navigation:q="+location[0]+","+location[1] +", + Sydney +Australia"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); context.startActivity(mapIntent); }else { Toast.makeText(context, "您尚未安装谷歌地图", Toast.LENGTH_LONG).show(); Uri uri = Uri.parse("market://details?id=com.google.android.apps.maps"); intent = new Intent(Intent.ACTION_VIEW, uri); context.startActivity(intent); }
稍后上传相关的demo,效果图大家应该都可以知道,我就不多说了。由于能力有限,不足之处请谅解。
阅读全文
0 0
- Android通过Intent来调用第三方地图
- Android通过Intent来调用第三方地图
- android调用第三方地图(URI)
- android通过手机本身来获取经纬度等信息(不使用第三方地图)
- 通过Intent 调用第三方Activity未成功
- Android Intent跳转第三方地图导航大全
- Android app调用第三方地图(百度地图,高德地图,谷歌地图)导航
- Android app调用第三方地图(百度地图,高德地图)导航
- android通过NDK调用第三方动态库
- Android通过Intent判断程序是否安装及通过第三方打开
- android第三方地图使用-百度地图
- 第三方应用调用高德地图
- IOS 调用第三方地图APP导航
- Android Intent 启动第三方程序
- Android调用第三方程序
- android 调用第三方应用
- Android调用第三方App
- Android调用第三方应用
- 时间日期
- cursor属性
- 深入浅出Mybatis技术原理与实战: 读书笔记
- 启动内存溢出的解决
- A+B Problem
- Android通过Intent来调用第三方地图
- 1074. 宇宙无敌加法器(20)
- Windows下Git-preview禁止自动转换文件的换行符
- 【开源云要闻回顾】Docker 拥抱 Kubernetes、GitHub 发布新特性......
- Android图片中的三级缓存
- ubuntu 10.04安装git-doc帮助文档
- 文章标题
- 辽宁省金蝶代理
- mac brew 安装pip3 采坑记录