【问题标题】:Signout Firebase注销 Firebase
【发布时间】:2018-01-08 03:10:26
【问题描述】:

我正在像这样在我的 APP 上注销:

FirebaseAuth.getInstance().signOut();

问题是,当我返回登录活动并再次按登录时,它会使用同一帐户重新登录。

我想做的是这样的:

Auth.GoogleSignInApi.signOut(mGoogleApliClient).setResultCallback(new ResultCallback<Status>() {
            @Override
            public void onResult(@NonNull Status status) {
                statusTextView.setText("Signed out");
            }
        });

如果我这样做(它是登录活动中的一个按钮),它可以让我使用不同的帐户登录,但如果我只使用 FirebaseAuth.getInstance().signOut(); 它确实会退出,但如果我登录它会使用旧帐户重新登录电子邮件,有什么方法可以做到这一点而不必创建mGoogleApiClient 等...?我必须在不同的活动中执行此操作,并且我不想在每个活动上创建它,如果我这样做了,我已经对其进行了测试,但我认为它有点脏。

【问题讨论】:

  • 我不知道有什么替代方法可以打电话给Auth.GoogleSignInApi.signOut()。如果您确实需要在多个活动中登录/注销功能,您可以将 GoogleApiClient 连接处理放在一个基类中以避免重复。

标签: firebase firebase-authentication


【解决方案1】:

我遇到了同样的问题,我解决了这个问题

FirebaseAuth.getInstance().signOut();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        this.finishAffinity();
    }
    else{
        ActivityCompat.finishAffinity(this);
    }
    startActivity(new Intent(mContext,LoginActivity.class));

来自documentation

finishAffinity()

在当前任务中完成此活动以及紧接其下方的所有具有相同亲和力的活动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-23
    • 2018-11-30
    • 2022-01-04
    • 1970-01-01
    • 2019-01-27
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多