Я пытаюсь внедрить Google Sign-In в мое приложение для Android . Хотя я успешно это реализовал.
Но проблема в том, что когда я пытаюсь войти через существующую электронную почту, она работает нормально. Но при попытке добавить новую учетную запись с помощью кнопки Добавить учетную запись (см. На скриншоте) результат не дает.
Мой экран становится размытым, ничего не происходит в течение долгого времени, и когда я нажимаю
на экране указано 0 (RESULT_CANCELED
).
Мой код:
onCreate()
private SignInButton signInButton;
private GoogleApiClient googleApiClient;
private static final int SIGN_IN_REQ_CODE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
signInButton = (SignInButton) findViewById(R.id.login_btn);
signInButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
signIn();
}
});
googleIntegration()
}
private void googleIntegration() {
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .build();
googleApiClient = new GoogleApiClient.Builder(this).enableAutoManage(this, this).addApi(Auth.GOOGLE_SIGN_IN_API, gso).build();
}
private void signIn() {
Intent intent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient);
Auth.GoogleSignInApi.signOut(googleApiClient);
startActivityForResult(intent, SIGN_IN_REQ_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SIGN_IN_REQ_CODE && resultCode==RESULT_OK) { GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
Toast.makeText(this, "Sign in Success", Toast.LENGTH_SHORT).show();
}
}else {
Toast.makeText(this, "Failed to sign in", Toast.LENGTH_SHORT).show();
}
}
Так что в случае сбоя я получаю «Не удалось войти» Тост.
Или есть какой-то другой шаг, который я должен сделать, чтобы решить эту проблему?