转于:http://blog.csdn.net/ljb_blog/article/details/11047655

---------------------------------------------------------------------------------------

  1. packagecom.example.myapi.thirdbaidumap;
  2. importjava.net.URISyntaxException;
  3. importjava.util.ArrayList;
  4. importjava.util.List;
  5. importandroid.app.Activity;
  6. importandroid.content.Context;
  7. importandroid.content.Intent;
  8. importandroid.content.pm.PackageInfo;
  9. importandroid.content.pm.PackageManager;
  10. importandroid.net.Uri;
  11. importandroid.os.Bundle;
  12. importandroid.util.Log;
  13. importandroid.view.View;
  14. importandroid.view.View.OnClickListener;
  15. importandroid.widget.Button;
  16. importcom.example.myapi.R;
  17. /**
  18. *测试程序跳转到第三方地图,并将数据传递过去。
  19. *@authortony
  20. *
  21. */
  22. publicclassThirdBaiduMapTestActivityextendsActivityimplementsOnClickListener{
  23. privateButtonbtn_test;
  24. @Override
  25. protectedvoidonCreate(BundlesavedInstanceState){
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.thirdbaidumaptest);
  28. btn_test=(Button)findViewById(R.id.baidu_btn_test);
  29. btn_test.setOnClickListener(this);
  30. }
  31. @Override
  32. publicvoidonClick(Viewv){
  33. switch(v.getId()){
  34. caseR.id.baidu_btn_test:
  35. //如果已安装,
  36. if(isAvilible(this,"com.baidu.BaiduMap")){//传入指定应用包名
  37. Intentintent=null;
  38. try{
  39. //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");
  40. intent=Intent.getIntent("intent://map/direction?"+
  41. "origin=大柏树&"+
  42. "destination=江湾镇"+
  43. "&mode=driving&"+
  44. "region=上海市"+
  45. "&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
  46. startActivity(intent);//启动调用
  47. }catch(URISyntaxExceptione){
  48. Log.e("intent",e.getMessage());
  49. }
  50. }else{//未安装
  51. //market为路径,id为包名
  52. //显示手机上所有的market商店
  53. Uriuri=Uri.parse("market://details?id=com.baidu.BaiduMap");
  54. Intentintent=newIntent(Intent.ACTION_VIEW,uri);
  55. startActivity(intent);
  56. }
  57. break;
  58. }
  59. }
  60. /**
  61. *检查手机上是否安装了指定的软件
  62. *@paramcontext
  63. *@parampackageName:应用包名
  64. *@return
  65. */
  66. privatebooleanisAvilible(Contextcontext,StringpackageName){
  67. //获取packagemanager
  68. finalPackageManagerpackageManager=context.getPackageManager();
  69. //获取所有已安装程序的包信息
  70. List<PackageInfo>packageInfos=packageManager.getInstalledPackages(0);
  71. //用于存储所有已安装程序的包名
  72. List<String>packageNames=newArrayList<String>();
  73. //从pinfo中将包名字逐一取出,压入pNamelist中
  74. if(packageInfos!=null){
  75. for(inti=0;i<packageInfos.size();i++){
  76. StringpackName=packageInfos.get(i).packageName;
  77. packageNames.add(packName);
  78. }
  79. }
  80. //判断packageNames中是否有目标程序的包名,有TRUE,没有FALSE
  81. returnpackageNames.contains(packageName);
  82. }
  83. }

更多相关文章

  1. Pycharm安装PyQt5的详细教程
  2. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  3. Android屏幕分辨率正确获取及PX,DPI,DP,SP等的对应关系
  4. Android(安卓)环境搭建
  5. android 获取唯一标识
  6. android拍照与读取相册
  7. Android(安卓)热点开关状态的判断和获取热点ssid
  8. Android软键盘适配问题
  9. 第一章 andriod studio 安装与环境搭建

随机推荐

  1. android 让ImageView的图片全屏填充
  2. Android(安卓)调用相册 拍照 实现系统控
  3. ListActivity的使用
  4. Git操作常用概念和命令
  5. Android(安卓)关于判断应用是否有网络
  6. Android 动画学习
  7. android多层树形结构列表学习笔记
  8. 【转】Android 9 Pie 兼容性常见问题及注
  9. android NDK的单步调试
  10. 使用Android Studio对Android系统源码进