Android Intent跳转第三方地图应用,传入地址
2018-04-04 18:17
405 查看
因为项目中需要,网上的资料感觉很乱,就自己整理一下,在应用内跳转高德、百度、腾讯地图。
在进行跳转之前,首先要check一下本机有没有安装安装第三方的地图(app非网页哦)
包名:
高德:com.autonavi.minimap百度:
com.baidu.BaiduMap腾讯:
com.tencent.map方法两种,
第一种:高德,百度,亲测有效,貌似腾讯不行
public boolean isAvailable(String mapPackageName) {
PackageInfo packageInfo;
try {
packageInfo = activity.getPackageManager().getPackageInfo(mapPackageName, 0);
} catch (PackageManager.NameNotFoundException e) {
packageInfo = null;
e.printStackTrace();
}
return packageInfo == null ? false : true;
}第二种:高德,百度,腾讯均有效(以腾讯为例)
new File("/data/data/com.tencent.map").exists()跳转地图
高德:address传入目的地名称
try {
String act = "android.intent.action.VIEW";
String dat = "androidamap://keywordNavi?sourceApplication=softname&keyword=" + address + " &style=2";
String pkg = "com.autonavi.minimap";
Intent intent = new Intent(act, Uri.parse(dat));
intent.setPackage(pkg);
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
百度:address传入目的地名称
try {
Intent i1 = new Intent();
i1.setData(Uri.parse("baidumap://map/geocoder?src=openApiDemo&address=" + address));
startActivity(i1);
} catch (Exception e) {
e.printStackTrace();
}腾讯:address传入目的地名称 ,gotoLatitude和gotoLongitude(经纬度 必传否则会默认当前位置)
try {
String pathUrl = "qqmap://map/routeplan?type=drive&to=" + address + "&tocoord=" + gotoLatitude + "," + gotoLongitude + "&policy=2&referer=myapp";
Intent intent = new Intent();
intent.setData(Uri.parse(pathUrl));
activity.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
在进行跳转之前,首先要check一下本机有没有安装安装第三方的地图(app非网页哦)
包名:
高德:com.autonavi.minimap百度:
com.baidu.BaiduMap腾讯:
com.tencent.map方法两种,
第一种:高德,百度,亲测有效,貌似腾讯不行
public boolean isAvailable(String mapPackageName) {
PackageInfo packageInfo;
try {
packageInfo = activity.getPackageManager().getPackageInfo(mapPackageName, 0);
} catch (PackageManager.NameNotFoundException e) {
packageInfo = null;
e.printStackTrace();
}
return packageInfo == null ? false : true;
}第二种:高德,百度,腾讯均有效(以腾讯为例)
new File("/data/data/com.tencent.map").exists()跳转地图
高德:address传入目的地名称
try {
String act = "android.intent.action.VIEW";
String dat = "androidamap://keywordNavi?sourceApplication=softname&keyword=" + address + " &style=2";
String pkg = "com.autonavi.minimap";
Intent intent = new Intent(act, Uri.parse(dat));
intent.setPackage(pkg);
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
百度:address传入目的地名称
try {
Intent i1 = new Intent();
i1.setData(Uri.parse("baidumap://map/geocoder?src=openApiDemo&address=" + address));
startActivity(i1);
} catch (Exception e) {
e.printStackTrace();
}腾讯:address传入目的地名称 ,gotoLatitude和gotoLongitude(经纬度 必传否则会默认当前位置)
try {
String pathUrl = "qqmap://map/routeplan?type=drive&to=" + address + "&tocoord=" + gotoLatitude + "," + gotoLongitude + "&policy=2&referer=myapp";
Intent intent = new Intent();
intent.setData(Uri.parse(pathUrl));
activity.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
相关文章推荐
- android intent 跳转到第三方应用 如果第三方应用已经启动,但是隐藏在home下,如何让它显示出来?
- Android第三方跳转可能会出现事件传入下一个应用中
- Android Intent跳转第三方地图导航大全
- android 跳转Intent (第三方应用) & 去掉标题栏 &可见性&透明背景
- Android第三方应用或者原生app内跳转React native的某个页面
- Android Intent应用,打开网页,安装程序,打电话,打开地图等功能
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android中的Intent标准跳转应用
- Android通过Intent来调用第三方地图
- Android中Intent的应用(二)--在进行页面跳转的同时传值
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面 .相机.录影机...
- Android 跳转到第三方应用
- android Intent调用地图应用客户端
- Android使用intent跳转到其它应用activity界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android中的Intent标准跳转应用
- Android中的Intent标准跳转应用