2013-03-26 38 views
0

我有一個使用Google地圖的應用。由於在Android中使用新的Api,如果用戶沒有Google Maps應用程序爲最新版本,地圖將無法工作,有什麼方法可以讓我的應用程序知道用戶安裝的版本?而且......我的應用可以知道這個版本是Google Play中的最後一個版本嗎?在我的應用中詢問Google地圖版本

回答

2

如果用戶沒有Google Maps應用程序是最新的,那麼地圖將無法工作,有沒有什麼方法可以讓我的應用程序知道用戶安裝的版本?

您的應用程序不關心Google地圖的版本。您的應用關心安裝Play Services Framework。

我的示例應用程序,如this one,使用AbstractMapActivity它包裝起來檢查播放服務框架的細節,在調用readyToGo()

protected boolean readyToGo() { 
    int status= 
     GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); 

    if (status == ConnectionResult.SUCCESS) { 
     return(true); 
    } 
    else if (GooglePlayServicesUtil.isUserRecoverableError(status)) { 
     ErrorDialogFragment.newInstance(status) 
         .show(getSupportFragmentManager(), 
           TAG_ERROR_DIALOG_FRAGMENT); 
    } 
    else { 
     Toast.makeText(this, R.string.no_maps, Toast.LENGTH_LONG).show(); 
     finish(); 
    } 

    return(false); 
    } 

這將返回true如果isGooglePlayServicesAvailable()本身返回true 。否則,如果可能的話,它將顯示一個對話框(有一個ErrorDialogFragment內部類),這將導致用戶安裝Play Services Framework。或者,它將顯示一個Toast以解決不可恢復的問題(儘管生產代碼應該使用別的東西,如油炸麪包片)。

GooglePlayServicesUtil有其own set of JavaDocs

+0

非常好的和有益的答案!非常感謝你。 – Fustigador 2013-03-26 13:48:09

相關問題