Я не знаю, что с этим не так, некоторые учетные записи Google могут войти, а некоторые учетные записи Google не могут войти. когда результат ложный, он показывает массаж {statusCode = неизвестный код состояния: 12501, разрешение = ноль}.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestProfile()
.requestId()
.build();
googleApiClient=new GoogleApiClient.Builder(this)
.addApi(Auth.GOOGLE_SIGN_IN_API,gso)
.build();
googleSignInClient = GoogleSignIn.getClient(this, gso);
googleSignInButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient);
startActivityForResult(intent, RC_SIGN_IN);
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable 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){
if(result.isSuccess()){
gotoProfile();
Toast.makeText(getApplicationContext(),"Sign in",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext(),"Sign in cancel",Toast.LENGTH_LONG).show();
}
}