2014-03-06 47 views
0

當我點擊地圖的鏈接時,我的應用程序正在關閉,因爲沒有安裝地圖應用程序。我如何在應用程序的開始時發出提醒,以便他們無法使用未安裝地圖應用程序的地圖。未安裝Google地圖時,應用程序正在關閉

感謝,

+1

檢查發佈您的代碼,我會告訴你怎麼做? –

+0

我的代碼是不需要的..我需要一個腳本,在啓動時關閉應用程序時沒有安裝Maps應用程序時發出警報。 – user3374858

+0

無能爲力。請給出一個簡短的解釋。這裏地圖應用程序顯示谷歌地圖或什麼? – Shadow

回答

0

當我點擊一個鏈接,地圖上。我的應用正在關閉,因爲沒有安裝地圖應用程序。

如果這個「鏈接」被觸發ACTION_VIEWIntent,也許在geoUri,創建Intent和使用PackageManagerresolveActivity(),看是否在設備上的東西將會處理它。如果resolveActivity()返回null,您知道startActivity()對於那個Intent將會崩潰,因此您可以採取適當的步驟。

0

嘗試:

if(isGoogleMapsInstalled){ 
//do your job 
}else{ 
//display toast or whatever you want 
} 

public boolean isGoogleMapsInstalled() 
{ 
    try 
    { 
     ApplicationInfo info = getPackageManager().getApplicationInfo("com.google.android.apps.maps", 0); 
     return true; 
    } 
    catch(PackageManager.NameNotFoundException e) 
    { 
     return false; 
    } 
} 
+0

當只有(isGoogleMapsNotInstalled) //顯示Toast – user3374858

+0

Toast麪包= Toast.makeText(getApplicationContext(),「請安裝Google地圖應用...」,Toast.LENGTH_LONG); bread.show(); finish(); –

2

你需要創建一個方法,像這樣

public boolean isPackageExisted(String targetPackage) { 
    PackageManager pm = getPackageManager(); 
    try { 
     PackageInfo info = pm.getPackageInfo(targetPackage, 
       PackageManager.GET_META_DATA); 
    } catch (NameNotFoundException e) { 
     return false; 
    } 
    return true; 
} 

然後通過這個

if (isPackageExisted("com.google.android.maps")) { 
    // Map application is available 
} else { 
    // Map application is not available 
} 
相關問題