我正在尝试在我的 android 应用程序中实现 Google 登录。虽然我已经成功实施了。
但问题是当我尝试通过现有电子邮件登录时,它工作正常。但是当尝试通过按钮添加帐户添加新帐户时(请参见屏幕截图),它没有给出结果。
我的屏幕模糊了很长时间没有发生任何事情,当我点击屏幕时,它给定的 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();
}
}
所以在失败的情况下,我得到“登录失败”的Toast。
或者我还需要采取其他措施来解决这个问题吗?