title: GoogleSignInResult isSuccess failed
body: <p>I want to use the Google Login for my App, but I always get the message <code>Status{statusCode=unknown status code: 12500, resolution=null</code> and the login failed. Has anyone an idea what the problem is?</p>
  
  <p>Here is my Activity:</p>
  
  <pre><code>public class GruppenActivity extends AppCompatActivity implements
      GoogleApiClient.OnConnectionFailedListener,
      View.OnClickListener {
  
      private static final String TAG = "SignInActivity";
      private static final int RC_SIGN_IN = 9001;
  
      private GoogleApiClient mGoogleApiClient;
      private TextView mStatusTextView;
      private ProgressDialog mProgressDialog;
  
      private LernAppDB db;
      private SQLiteDatabase sqlDatabase;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_gruppen);
  
          // Views
          mStatusTextView = (TextView) findViewById(R.id.status);
  
          // Button listeners
          findViewById(R.id.sign_in_button).setOnClickListener(this);
          findViewById(R.id.sign_out_button).setOnClickListener(this);
          findViewById(R.id.disconnect_button).setOnClickListener(this);
  
          db = new LernAppDB(this);
          sqlDatabase = db.getReadableDatabase();
  
  
          GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
              .requestEmail()
              .requestIdToken(getString(R.string.server_client_id))
              .requestServerAuthCode(getString(R.string.server_client_id))
              .build();
  
          mGoogleApiClient = new GoogleApiClient.Builder(this)
              .enableAutoManage(this , this )
              .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
              .build();
  
          SignInButton signInButton = (SignInButton) findViewById(R.id.sign_in_button);
          signInButton.setSize(SignInButton.SIZE_STANDARD);
          signInButton.setScopes(gso.getScopeArray());
  
      }
  
      @Override
      public void onStart() {
          super.onStart();
  
          OptionalPendingResult&lt;GoogleSignInResult&gt; opr = Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient);
          if (opr.isDone()) {
              Log.d(TAG, "Got cached sign-in");
              GoogleSignInResult result = opr.get();
              handleSignInResult(result);
          } else {
  
              showProgressDialog();
              opr.setResultCallback(new ResultCallback&lt;GoogleSignInResult&gt;() {
                  @Override
                  public void onResult(GoogleSignInResult googleSignInResult) {
                      hideProgressDialog();
                      handleSignInResult(googleSignInResult);
                  }
              });
          }
      }
  
      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
  
          if (requestCode == RC_SIGN_IN) {
              GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
              handleSignInResult(result);
          }
      }
  
      private void handleSignInResult(GoogleSignInResult result) {
          Log.d(TAG, "handleSignInResult:" + result.isSuccess());
          if (result.isSuccess()) {
              // Signed in successfully, show authenticated UI.
              GoogleSignInAccount acct = result.getSignInAccount();
              String personName = acct.getDisplayName();
              String personEmail = acct.getEmail();
              ZentraleDB zentraleDB = new ZentraleDB();
              ZentraleDB.benutzerAnlegen(sqlDatabase,personEmail,"hans","wilhelm",personName,"tesr");
              mStatusTextView.setText(getString(R.string.signed_in_fmt, acct.getDisplayName()));
              updateUI(true);
          } else {
              updateUI(false);
          }
      }
  
      private void signIn() {
          Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
          startActivityForResult(signInIntent, RC_SIGN_IN);
      }
  
      private void signOut() {
          Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
              new ResultCallback&lt;Status&gt;() {
                  @Override
                  public void onResult(Status status) {
                      // [START_EXCLUDE]
                      updateUI(false);
                      // [END_EXCLUDE]
                  }
              });
      }
  
      private void revokeAccess() {
          Auth.GoogleSignInApi.revokeAccess(mGoogleApiClient).setResultCallback(
              new ResultCallback&lt;Status&gt;() {
                  @Override
                  public void onResult(Status status) {
                      updateUI(false);
                  }
              });
      }
  
      @Override
      public void onConnectionFailed(ConnectionResult connectionResult) {
          Log.d(TAG, "onConnectionFailed:" + connectionResult);
      }
  
      private void showProgressDialog() {
          if (mProgressDialog == null) {
              mProgressDialog = new ProgressDialog(this);
              mProgressDialog.setMessage(getString(R.string.loading));
              mProgressDialog.setIndeterminate(true);
          }
  
          mProgressDialog.show();
      }
  
      private void hideProgressDialog() {
          if (mProgressDialog != null &amp;&amp; mProgressDialog.isShowing()) {
              mProgressDialog.hide();
          }
      }
  
      private void updateUI(boolean signedIn) {
          if (signedIn) {
              findViewById(R.id.sign_in_button).setVisibility(View.GONE);
              findViewById(R.id.sign_out_and_disconnect).setVisibility(View.VISIBLE);
          } else {
              mStatusTextView.setText(R.string.signed_out);
  
              findViewById(R.id.sign_in_button).setVisibility(View.VISIBLE);
              findViewById(R.id.sign_out_and_disconnect).setVisibility(View.GONE);
          }
      }
  
      @Override
      public void onClick(View v) {
          switch (v.getId()) {
              case R.id.sign_in_button:
                  signIn();
                  break;
              case R.id.sign_out_button:
                  signOut();
                  break;
              case R.id.disconnect_button:
                  revokeAccess();
                  break;
          }
      }
  }
  </code></pre>