調用百度地圖APP

來源:互聯網
上載者:User

標籤:des   android   style   color   java   使用   os   io   

代碼如下:
           //調起百度地圖用戶端
                        try {
                                intent = Intent.getIntent("intent://map/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving?ion=西安&referer=Autohome|GasStation#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
                                if(isInstallByread("com.baidu.BaiduMap")){
                                        startActivity(intent); //啟動調用
                                         Log.e("GasStation", "百度地圖用戶端已經安裝") ;
                                }else{
                                         Log.e("GasStation", "沒有安裝百度地圖用戶端") ;
                                }
                        } catch (URISyntaxException e) {
                                e.printStackTrace();
                        } [/mw_shl_code]
但是,若用戶端沒有安裝了百度地圖用戶端就會報 No Activity.... 直接會導致程式掛掉,這是開發人員不希望看到的.所以在調用之前判斷該手機是否安裝了百度地圖用戶端,我們知道百度的包名為 com.baidu.BaiduMap
所以通過下面的方法進行判斷:
[mw_shl_code=java,true]/**  
         * 判斷是否安裝目標應用  
         * @param packageName 目標應用安裝後的包名  
         * @return 是否已安裝目標應用  
         */    
        private boolean isInstallByread(String packageName) {    
         return new File("/data/data/" + packageName).exists();    

        } 


使用Intent調用高德地圖


 try {
                                intent = Intent.getIntent("androidamap://path?sourceApplication=GasStation&sid=BGVIS1&slat=34.264642646862&slon=108.95108518068&sname=當前位置&did=BGVIS2&dlat=36.3&dlon=116.2&dname=終點位置&dev=1&m=2&t=0");
                                if(isInstallByread("com.autonavi.minimap")){
                                        startActivity(intent); //啟動調用
                                         Log.i("GasStation", "高德地圖用戶端已經安裝") ;
                                }else{
                                         Log.d("GasStation", "沒有安裝高德地圖用戶端") ;
                                }
                        } catch (URISyntaxException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.