Вход в Google не меняет активность - PullRequest
0 голосов
/ 05 октября 2018

Я только что ввел Google Signin в мое приложение, но по какой-то причине он не активирует MainActivity, когда пользователь нажал кнопку Google Signin.

Этот метод активируется, когда пользователь нажимает на кнопкуКнопка входа в систему:

private void signIn() {
    Intent signInIntent = mGoogleSignInClient.getSignInIntent();
    startActivityForResult(signInIntent, RC_SIGN_IN);
}

Я должен добавить активность, которую я хочу активировать.Обычно я добавляю это в Намерение.Но когда я делаю это так:

private void signIn() {
    Intent signInIntent = mGoogleSignInClient.getSignInIntent();
    signInIntent.setClass(this, MainActivity.class); 
    startActivityForResult(signInIntent, RC_SIGN_IN);
}

Тогда вход больше не работает.

1 Ответ

0 голосов
/ 05 октября 2018

Как вы можете видеть здесь , после вызова намерения для входа вы должны обработать его, переопределяя метод onActivityResult:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);

  // Result returned from launching the Intent from GoogleSignInClient.getSignInIntent(...);
  if (requestCode == RC_SIGN_IN) {
      // The Task returned from this call is always completed, no need to attach
      // a listener.
      Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
      handleSignInResult(task);
  }
}

, затем в вашем handleSignInResult вы можете проверить, есливход был успешным, после чего вы начали свою деятельность

private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
  try {
      GoogleSignInAccount account = completedTask.getResult(ApiException.class);

      // Signed in successfully, start your activity here.

  } catch (ApiException e) {
      // The ApiException status code indicates the detailed failure reason.
      // Please refer to the GoogleSignInStatusCodes class reference for more information.
      Log.w(TAG, "signInResult:failed code=" + e.getStatusCode());
      updateUI(null);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...