首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用google - Authentication登录

使用google - Authentication登录
EN

Stack Overflow用户
提问于 2017-07-02 23:34:05
回答 1查看 217关注 0票数 0

我正在开发一个android应用程序,在那里,用户可以选择既注册到应用程序登录,也使用谷歌选项登录。

使用表单登录工作得非常好。但是当用户登录到google时,我将用户重定向到注册屏幕,以便在用户登录到主屏幕之前获得更多信息。我唯一的问题是,当用户第一次登录google时,用户被重定向到第二个屏幕,在那里他/她注册了他/她的附加信息。

我的要求是,只有当用户第一次登录谷歌时,我才希望他被重定向到SIgn up活动以获取更多信息。在第一次之后,我希望他被直接重定向到主屏幕。我该如何实现这一点?

这就是我到目前为止所尝试的。只是发布必要的代码。

代码语言:javascript
复制
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);
}

在注册界面中,我只获得用户的电话号码、出生日期等信息。所以我的问题是,当用户第一次点击Sign in with google按钮时,用户必须通过注册。在第一次之后,我希望他直接重定向到主屏幕。

请帮助我如何实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2017-09-13 17:43:10

我认为enableAutoManage可以解决这个问题。

代码语言:javascript
复制
mGoogleApiClient = new GoogleApiClient.Builder(this)
            .enableAutoManage(this /* FragmentActivity */, new GoogleApiClient.OnConnectionFailedListener() {
                @Override
                public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
                }
            })
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .build();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44872472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档