博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断手机是否安装高德/百度地图
阅读量:5826 次
发布时间:2019-06-18

本文共 1949 字,大约阅读时间需要 6 分钟。

hot3.png

最近需要做一个关于导航的功能,得用手机存在的地图来打开,然后从网上找了一篇博客里面只写了怎么判断手机是否安装百度地图的,从网上各种翻,终于在高德地图上找到一句话。

开发者在调用URI 之前需要先判断是否安装了高德地图APP。如果没有安装,下载安装高德地图。然后调用相关地图功能,如周边实时路况信息显示,示例如下:

Intent intent = new Intent("android.intent.action.VIEW",android.net.Uri.parse("androidamap://showTraffic?sourceApplication=softname&poiid=BGVIS1&lat=36.2&lon=116.1&level=10&dev=0"));intent.setPackage(“com.autonavi.minimap”);startActivity(intent);

然后综合网上那篇博客代码如下,

/**	 * 检查手机上是否安装了指定的软件	 * @param context	 * @param packageName:应用包名	 * @return	 */	private boolean isAvilible(Context context, String packageName){		//获取packagemanager		final PackageManager packageManager = context.getPackageManager();		//获取所有已安装程序的包信息		List
packageInfos = packageManager.getInstalledPackages(0); //用于存储所有已安装程序的包名 List
packageNames = new ArrayList
(); //从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); }@Override public void onClick(View v) { switch (v.getId()){ case R.id.common_right: //如果已安装, if(isAvilible(mcontext,"com.baidu.BaiduMap")) {//传入指定应用包名 WinToast.makeText(mcontext,"即将用百度地图打开导航").show(); Uri mUri = Uri.parse("geo:"+jingdu+","+weidu+"?q="+title); Intent mIntent = new Intent(Intent.ACTION_VIEW,mUri); startActivity(mIntent); }else if(isAvilible(mcontext,"com.autonavi.minimap")){ WinToast.makeText(mcontext,"即将用高德地图打开导航").show(); Uri mUri = Uri.parse("geo:"+jingdu+","+weidu+"?q="+title); Intent intent = new Intent("android.intent.action.VIEW",mUri); startActivity(intent); }else { WinToast.makeText(mcontext,"请安装第三方地图方可导航").show(); return; } break; default: break; } }

我这里判断了高德和百度的,希望能帮到你们

转载于:https://my.oschina.net/u/2008084/blog/712429

你可能感兴趣的文章
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>
Linux中rc的含义
查看>>
曾鸣:区块链的春天还没有到来| 阿里内部干货
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
js之无缝滚动
查看>>
Django 多表联合查询
查看>>
logging模块学习:basicConfig配置文件
查看>>
Golang 使用 Beego 与 Mgo 开发的示例程序
查看>>
+++++++子域授权与编译安装(一)
查看>>
asp.net怎样在URL中使用中文、空格、特殊字符
查看>>
路由器发布服务器
查看>>
实现跨交换机VLAN间的通信
查看>>
jquery中的data-icon和data-role
查看>>
python例子
查看>>
环境变量(总结)
查看>>
ios之UILabel
查看>>
Java基础之String,StringBuilder,StringBuffer
查看>>
1月9日学习内容整理:爬虫基本原理
查看>>