0
我正在开发一款android应用程序,其中用户可以通过注册到应用程序登录并使用谷歌选项登录。使用谷歌账号登录 - 身份验证
用表单登录工作得很好。但是,当用户使用Google登录时,我会将用户重定向到注册屏幕以获取更多信息,然后再将用户登录到主屏幕。我唯一的问题是,当用户第一次登录谷歌时,用户被重定向到第二个屏幕,在那里他注册他/她的附加信息。
我的要求是,只有当用户第一次登录谷歌,我希望他被重定向到SIgn的活动,以获得更多的信息。第一次之后,我想让他直接重定向到主屏幕。我如何实现这一目标?
这是我到目前为止尝试过的。只需发布必要的代码即可。
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if(firebaseAuth.getCurrentUser() != null){
startActivity(new Intent(SignInActivity.this,ContactDetailsActivity.class));
}
}
};
else if(view == signInWithGoogleButton)
{
Toast.makeText(SignInActivity.this,"Signing in with google...",Toast.LENGTH_SHORT).show();
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
// Google Sign In was successful, authenticate with Firebase
GoogleSignInAccount account = result.getSignInAccount();
firebaseAuthWithGoogle(account);
} else {
// Google Sign In failed, update UI appropriately
// ...
Toast.makeText(this,"not signed in",Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
// Check if user is signed in (non-null) and update UI accordingly.
FirebaseUser currentUser = mAuth.getCurrentUser();
//updateUI(currentUser);
}
在注册屏幕上,我只是得到有关用户的电话号码,出生日期等信息。所以我的问题是,用户第一次点击用谷歌按钮登录时,用户必须通过注册。第一次后,我希望他直接重定向到主屏幕。
请帮助我如何做到这一点。