I can easily detect that my device's google play services app needs to be updated, and present the getErrorDialogFragment() to prompt the user to update it with:

```
     GoogleApiAvailability googleApi = GoogleApiAvailability.getInstance();
     mServiceAvailabilityCode = googleApi.isGooglePlayServicesAvailable(this);
     if (mServiceAvailabilityCode == ConnectionResult.SUCCESS) {
          ...
     else {
        if (googleApi.isUserResolvableError(mServiceAvailabilityCode)) {
            switch (mServiceAvailabilityCode) {
                    ....
            case SERVICE_VERSION_UPDATE_REQUIRED:
                googleApi.showErrorDialogFragment(SplashActivity.this, mServiceAvailabilityCode, PLAY_SERVICES_RESOLUTION_REQUEST);
                break;
                    ....
                }

```

However, if Google play services is **disabled AND out of date**, then, the user is presented with a dialog with an "Update" button, once the user presses it, the app returns immediately to the onActivityResult, which I then catch the response and request code in OnActivityResult like this: 

```
       @Override
       protected void onActivityResult(int requestCode, int mServiceAvailabilityCode, Intent data) {
          super.onActivityResult(requestCode, mServiceAvailabilityCode, data);
          switch (requestCode) {
          case PLAY_SERVICES_RESOLUTION_REQUEST:
                finish();
                // do i need to launch app manager-> app info for google play services ?

```

So, by the user pressing the "Update" button on the dialog did not launch Android's Playstore and load the "Playstor services" app for the user to update, which I had expected it to do. Pressing "Update" just goes straight back to onActivityResult. This is where I'm confused. Shouldn't Android have launched this for me ? Or do I have to do it myself in OnActivityResult ?