title: Caused by: java.lang.IllegalStateException: GoogleApiClient is not connected yet
body: <p>I am getting this error message when trying to implement logout for Google Sign-In for Android:</p>
  
  <pre><code>Caused by: java.lang.IllegalStateException: GoogleApiClient is not connected yet.
  </code></pre>
  
  <p>The crash occurs in DrawerActivity.java (below), where I call the signOut() method.</p>
  
  <p>I've looked at the solutions in other posts and have tried them to no avail:</p>
  
  <p><a href="https://stackoverflow.com/questions/27367835/java-lang-illegalstateexception-googleapiclient-is-not-connected-yet">java.lang.IllegalStateException: GoogleApiClient is not connected yet</a></p>
  
  <p><a href="https://stackoverflow.com/questions/33891324/googleapiclient-is-not-connected-yet-exception">GoogleApiClient is not connected yet exception</a>
  <a href="https://stackoverflow.com/questions/26998201/fatal-exception-java-lang-illegalstateexception-googleapiclient-is-not-connecte">Fatal Exception: java.lang.IllegalStateException GoogleApiClient is not connected yet</a></p>
  
  <p>MainActivity.java:</p>
  
  <pre><code>protected void onCreate(Bundle savedInstanceState) {
      mGoogleApiClient = new GoogleApiClient.Builder(this)
              .enableAutoManage(this, this)
              .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
              .build();
      //... other code for google sign in not shown
  }
  
  protected void onStart() {
      mGoogleApiClient.connect();
  }
  
  private void handleSignInResult(GoogleSignInResult result) {
      if (result.isSuccess()) {
          App.getInstance().setClient(mGoogleApiClient);
          //start DrawerActivity
      }
  }
  </code></pre>
  
  <p>In DrawerActivity.java (where I want to perform the sign out)</p>
  
  <pre><code>private void googleSignOut(){
      mGoogleApiClient = App.getInstance().getClient();
      Auth.GoogleSignInApi.signOut(mGoogleApiClient);
  }
  </code></pre>
  
  <p>In my App activity that extends Application (used to store the GoogleApiClient)</p>
  
  <pre><code>public class App extends Application {
  
      private GoogleApiClient mGoogleApiClient;
      private static App mInstance;
  
      @Override
      public void onCreate() {
          super.onCreate();
          mInstance = this;
      }
  
      public static synchronized App getInstance() {
          return mInstance;
      }
  
      public void setClient(GoogleApiClient client){
          mGoogleApiClient = client;
      }
  
      public GoogleApiClient getClient(){
          return mGoogleApiClient;
      }
  }
  </code></pre>
  
  <p>StackTrace:</p>
  
  <pre><code>21:33.314 25375-25375/com.me.myapp E/AndroidRuntime: FATAL EXCEPTION: main
  Process: com.me.myapp, PID: 25375
  java.lang.IllegalStateException: GoogleApiClient is not connected yet.
  at com.google.android.gms.internal.zzmf.zzb(Unknown Source)
  at com.google.android.gms.internal.zzmi.zzb(Unknown Source)
  at com.google.android.gms.internal.zzmg.zzb(Unknown Source)
  at com.google.android.gms.auth.api.signin.internal.zzc.signOut(Unknown Source)
  at com.me.myapp.DrawerActivity.googleSignOut(DrawerActivity.java:526)
  at com.me.myapp.DrawerActivity.onNavigationDrawerItemSelected(DrawerActivity.java:512)
  at com.me.myapp.NavigationDrawerFragment.selectItem(NavigationDrawerFragment.java:201)
  at com.me.myapp.NavigationDrawerFragment.access$000(NavigationDrawerFragment.java:31)
  at com.me.myapp.NavigationDrawerFragment$1.onItemClick(NavigationDrawerFragment.java:98)
  at android.widget.AdapterView.performItemClick(AdapterView.java:310)
  at android.widget.AbsListView.performItemClick(AbsListView.java:1145)
  at android.widget.AbsListView$PerformClick.run(AbsListView.java:3042)
  at android.widget.AbsListView$3.run(AbsListView.java:3879)
  at android.os.Handler.handleCallback(Handler.java:739)
  at android.os.Handler.dispatchMessage(Handler.java:95)
  at android.os.Looper.loop(Looper.java:148)
  at android.app.ActivityThread.main(ActivityThread.java:5417)
  at java.lang.reflect.Method.invoke(Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteI
  </code></pre>
  
  <p>Any help would be appreciated. Thanks!</p>