主要實(shí)現(xiàn)的邏輯:首先判斷當(dāng)前設(shè)備是否安裝高德地圖客戶端孟岛,如果檢測(cè)到已安裝高德地圖客戶端沸手,則通過Intent方式拼接uri去啟動(dòng)第三方應(yīng)用内边,如果檢測(cè)到?jīng)]有安裝客戶端則提示用戶曲稼。
核心代碼
if(isInstallByread("com.autonavi.minimap")) {
Intent intentOther = new Intent( "android.intent.action.VIEW", android.net.Uri .parse("androidamap://navi?sourceApplication=amap&lat="目的地的緯度值"&lon="目的地的經(jīng)度值"&dev=1&stype=0")); intentOther.setPackage("com.autonavi.minimap"); startActivity(intentOther);
}else{
ToastHelper.showToast( AllPointMapActivity.this, "沒有安裝高德地圖客戶端"); }
判斷設(shè)備是否安裝高德地圖客戶端
/**
* 判斷是否安裝目標(biāo)應(yīng)用
* @param packageName
* ? 目標(biāo)應(yīng)用安裝后的包名
* @return 是否已安裝目標(biāo)應(yīng)用
*/
private boolean isInstallByread(String packageName) {
PackageInfo packageInfo;
try {
packageInfo = this.getPackageManager().getPackageInfo(packageName, 0);
} catch (PackageManager.NameNotFoundException e) {
packageInfo = null;
e.printStackTrace();
}
if(packageInfo ==null){
return false;
}else{
return true;
}
}