百度地图

<uses-permission
    android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission
android:name="android.permission.INTERNET"/><uses-permission
android:name="com.android.launcher.permission.READ_SETTINGS"
/><uses-permission
android:name="android.permission.WAKE_LOCK"/><uses-permission
android:name="android.permission.CHANGE_WIFI_STATE"
/><uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"
/><uses-permission
android:name="android.permission.GET_TASKS"
/><uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission
android:name="android.permission.WRITE_SETTINGS"
/>


<Button android:id="@+id/button_gao" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="调起高德地图" /><Button android:id="@+id/button_bai" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="调起百度地图" /><Button android:id="@+id/button_gu" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="调起谷歌地图" />



//吊起百度地图进行导航

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private Intent intent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }
    private void initView() {
        Button button_bai = (Button) findViewById(R.id.button_bai);
        Button button_gao = (Button) findViewById(R.id.button_gao);
        Button button_gu = (Button) findViewById(R.id.button_gu);
        button_bai.setOnClickListener(this);
        button_gao.setOnClickListener(this);
        button_gu.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.button_bai:
                if(isAvilible(MainActivity.this,"com.baidu.BaiduMap")){//传入指定应用包名

                    try {
                        intent = Intent.getIntent("intent://map/direction?" +
                             //   "origin=latlng:"+"34.264642646862,108.95108518068&" +   //起点  此处不传值默认选择当前位置
                                "destination=latlng:"+34.264642646862+","+108.95108518068+"|name:我的目的地"+        //终点
                                "&mode=driving&" +          //导航路线方式
                                "region=北京" +           //
                                "&src=慧医#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
                        startActivity(intent); //启动调用
                    } catch (URISyntaxException e) {
                        Log.e("intent", e.getMessage());
                    }
                }else{//未安装
                    //market为路径,id为包名
                    //显示手机上所有的market商店
                    Toast.makeText(MainActivity.this, "您尚未安装百度地图", Toast.LENGTH_LONG).show();
                    Uri uri = Uri.parse("market://details?id=com.baidu.BaiduMap");
                    intent = new Intent(Intent.ACTION_VIEW, uri);
                    startActivity(intent);
                }
                break;

        }
    }
    /*  * 检查手机上是否安装了指定的软件
      * @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);
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值