Google Maps API Android V2 vérifier si GoogleMaps sont installés sur le périphérique

Lors de l'utilisation de Google Maps API Android V2 je suis à la suite de la Google Play Services de documentation d'installation de faire une vérification pour s'assurer que les Google Play Services sont installés, en utilisant le code suivant dans mon Activité principale:

@Override
public void onResume()
{
      checkGooglePlayServicesAvailability();

      super.onResume();
}

public void checkGooglePlayServicesAvailability()
  {
      int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
      if(resultCode != ConnectionResult.SUCCESS)
      {
          Dialog dialog = GooglePlayServicesUtil.getErrorDialog(resultCode, this, 69);
          dialog.setCancelable(false);
          dialog.setOnDismissListener(getOnDismissListener());
          dialog.show();
      }

      Log.d("GooglePlayServicesUtil Check", "Result is: " + resultCode);
  }

Cela fonctionne bien. Cependant, j'ai remarqué quelques-uns des vieux téléphones Android j'ai autour de la pose (surtout l'exécution 2.2) manquaient à la fois GooglePlayServices ainsi que l'application Google Maps lui-même.

LogCat permettra de signaler cette erreur:
Google Maps API Android: application Google Maps est manquant.

Question - comment puis-je effectuer un test similaire à celui ci-dessus pour la disponibilité de Google Maps sur un appareil? Deuxièmement, si l'utilisateur a déjà Google Maps installé je pense que le chèque devra s'assurer que leur version installée est compatible avec la V2 de l'Android Maps API.

Mise à jour
Voici mon setupMapIfNeeded() méthode qui est appelée à la fin de onCreate(). C'est là que je pense que je serais à déterminer si Google Maps est installé et alerte l'utilisateur, voir le bloc else:

private void setUpMapIfNeeded() 
{
    //Do a null check to confirm that we have not already instantiated the map.
    if (mMap == null) 
    {
        //Try to obtain the map from the SupportMapFragment.
        mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.basicMap)).getMap();

        if (mMap != null) 
        {
            mMap.setLocationSource(this);

            mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(44.9800, -93.2636), 10.0f));
            setUpMap();
        }
        else
        {
            //THIS CODE NEVER EXECUTES - mMap is non-null even when Google Maps are not installed
            MapConstants.showOkDialogWithText(this, R.string.installGoogleMaps);
        }
    }
}
InformationsquelleAutor DiscDev | 2012-12-08