Google Maps Android API V2 проверяет, установлены ли на устройстве GoogleMaps

При использовании Google Maps Android API V2 I 'м послеДокументация по настройке сервисов Google Play сделать проверку, чтобы убедиться, что Google Play Services установлены, используя следующий код в моей основной деятельности:

@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);
  }

Это отлично работает. Тем не менее, я заметил, что на некоторых старых телефонах Android, на которых я работал (в основном под управлением версии 2.2), отсутствовали как GooglePlayServices, так и само приложение Google Maps.

LogCat сообщит об этой ошибке: Google Maps Android API: приложение Google Maps отсутствует.

Вопрос - Как я могу выполнить проверку, аналогичную приведенной выше, для проверки доступности Google Карт на устройстве? Во-вторых, если у пользователя уже установлены Google Карты, я думаю, что проверка должна убедиться, что его установленная версия совместима с V2 API Карт Android.

Обновить Вот мой метод setupMapIfNeeded (), который вызывается в конце onCreate (). Вот где я думаюЯ хочу определить, установлены ли Карты Google, и предупредить пользователя, см. блок 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);
        }
    }
}