Reputation: 6459
I have an app that uses Google Maps. Since, with the new Api in Android, the map wont work if the user don't have the Google Maps app up to date, is there any way that my app can know the version that the user have installed? And... can my app know wich version is the last in Google Play?
Upvotes: 0
Views: 112
Reputation: 1006614
the map wont work if the user don't have the Google Maps app up to date, is there any way that my app can know the version that the user have installed?
Your app does not care about the version of Google Maps. Your app cares about having the Play Services Framework installed.
My sample apps, such as this one, use an AbstractMapActivity
that wraps up the details of checking for the Play Services Framework, in a call to 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);
}
This will return true
if isGooglePlayServicesAvailable()
itself returns true
. Otherwise, if possible, it will display a dialog (there's an ErrorDialogFragment
inner class) that will lead the user to install the Play Services Framework. Or, it will display a Toast
for an unrecoverable problem (though production code should use something else, like a crouton).
GooglePlayServicesUtil
has its own set of JavaDocs.
Upvotes: 2