您的位置:首页 > 其它

移动开发----启动到三方软件,百度 高德(路线)

2016-12-20 17:34 309 查看
//点击跳转到百度   或者  高德 地图   
public void ding(View v) {
new AlertDialog.Builder(this)
.setCancelable(true)
.setItems(new String[]{"百度地图", "高德地图"}, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
if (which == 0) {
if (isAvilible(MapAddressActivity.this, "com.baidu.BaiduMap")) {//传入指定应用包名

try {
Intent intent = Intent.getIntent("intent://map/marker?location="+doubles[0]+","+doubles[1]+"&title="+name+"&content="+name+"&src=e群|#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
startActivity(intent); //启动调用
} catch (URISyntaxException e) {
Log.e("intent", e.getMessage());
}
} else {//未安装
//market为路径,id为包名
//显示手机上所有的market商店
Toast.makeText(MapAddressActivity.this, "您尚未安装百度地图", Toast.LENGTH_LONG).show();
Uri uri = Uri.parse("market://details?id=com.baidu.BaiduMap");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
} else {

if (isAvilible(MapAddressActivity.this, "com.autonavi.minimap")) {
try{
Intent intent = Intent.getIntent("androidamap://viewMap?sourceApplication=e群&poiname="+name+"&lat="+longitude1 +"&lon="+latitude1+"&dev=0");
startActivity(intent);
} catch (Exception e)
{e.printStackTrace(); }
}else{
Toast.makeText(MapAddressActivity.this, "您尚未安装高德地图", Toast.LENGTH_LONG).show();
Uri uri = Uri.parse("market://details?id=com.autonavi.minimap");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
}
}
}).show();
}
//    * 检查手机上是否安装了指定的软件
//    * @param context
//    * @param packageName:应用包名
//    * @return
//            */
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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐