title: Implementing google play services in android
body: <p>I am going along with the tutorial <a href="https://developers.google.com/+/mobile/android/getting-started">here</a>, and am getting there error <code>The method getIntentSender() is undefined for the type ConnectionResult</code> in the <code>onConnectionFailed</code> class.</p>
  
  <p><strong>Full Code</strong></p>
  
  <pre><code>package com.alfalfa.thisthat;
  
  import android.app.Activity;
  import android.content.Intent;
  import android.content.IntentSender.SendIntentException;
  import android.os.Bundle;
  import android.view.Menu;
  
  import com.google.android.gms.common.ConnectionResult;
  import com.google.android.gms.common.api.GoogleApiClient;
  import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks;
  import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;
  import com.google.android.gms.plus.Plus;
  
  public class LoginActivity extends Activity implements
  ConnectionCallbacks, OnConnectionFailedListener {
  
      /* Request code used to invoke sign in user interactions. */
      private static final int RC_SIGN_IN = 0;
  
      /* Client used to interact with Google APIs. */
      private GoogleApiClient mGoogleApiClient;
  
      /* A flag indicating that a PendingIntent is in progress and prevents
       * us from starting further intents.
       */
      private boolean mIntentInProgress;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          mGoogleApiClient = new GoogleApiClient.Builder(this)
              .addConnectionCallbacks(this)
              .addOnConnectionFailedListener(this)
              .addApi(Plus.API, null)
              .addScope(Plus.SCOPE_PLUS_LOGIN)
              .build();
      }
  
      protected void onStart() {
          super.onStart();
          mGoogleApiClient.connect();
      }
  
      protected void onStop() {
          super.onStop();
  
          if (mGoogleApiClient.isConnected()) {
              mGoogleApiClient.disconnect();
          }
      }
  
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          // Inflate the menu; this adds items to the action bar if it is present.
          getMenuInflater().inflate(R.menu.main, menu);
          return true;
      }
  
      @Override
      public void onConnectionFailed(ConnectionResult result) {
            if (!mIntentInProgress &amp;&amp; result.hasResolution()) {
              try {
                mIntentInProgress = true;
                startIntentSenderForResult(result.getIntentSender(),
                    RC_SIGN_IN, null, 0, 0, 0);
              } catch (SendIntentException e) {
                // The intent was canceled before it was sent.  Return to the default
                // state and attempt to connect to get an updated ConnectionResult.
                mIntentInProgress = false;
                mGoogleApiClient.connect();
              }
            }
          }
  
      @Override
      public void onConnected(Bundle connectionHint) {
          // We've resolved any connection errors.  mGoogleApiClient can be used to
          // access Google APIs on behalf of the user.
      }
  
      @Override
      public void onConnectionSuspended(int cause) {
            mGoogleApiClient.connect();
      }
  
      protected void onActivityResult(int requestCode, int responseCode, Intent intent) {
            if (requestCode == RC_SIGN_IN) {
                mIntentInProgress = false;
  
                  if (!mGoogleApiClient.isConnecting()) {
                      mGoogleApiClient.connect();
                  }
            }
      }
  }
  </code></pre>
  
  <p><strong>EDIT:</strong>
  LogCat</p>
  
  <pre><code>02-13 19:12:31.763: E/AndroidRuntime(21257): FATAL EXCEPTION: main
  02-13 19:12:31.763: E/AndroidRuntime(21257): Process: com.alfalfa.thisthat, PID: 21257
  02-13 19:12:31.763: E/AndroidRuntime(21257): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.alfalfa.thisthat/com.alfalfa.thisthat.MainActivity}: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.alfalfa.thisthat/com.alfalfa.thisthat.LoginActivity}; have you declared this activity in your AndroidManifest.xml?
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.ActivityThread.access$800(ActivityThread.java:135)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.os.Handler.dispatchMessage(Handler.java:102)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.os.Looper.loop(Looper.java:136)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.ActivityThread.main(ActivityThread.java:5017)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at java.lang.reflect.Method.invokeNative(Native Method)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at java.lang.reflect.Method.invoke(Method.java:515)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at dalvik.system.NativeStart.main(Native Method)
  02-13 19:12:31.763: E/AndroidRuntime(21257): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.alfalfa.thisthat/com.alfalfa.thisthat.LoginActivity}; have you declared this activity in your AndroidManifest.xml?
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.Activity.startActivityForResult(Activity.java:3424)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.Activity.startActivityForResult(Activity.java:3385)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.Activity.startActivity(Activity.java:3627)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.Activity.startActivity(Activity.java:3595)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at com.alfalfa.thisthat.MainActivity.onCreate(MainActivity.java:16)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.Activity.performCreate(Activity.java:5231)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
  02-13 19:12:31.763: E/AndroidRuntime(21257):    ... 11 more
  </code></pre>