登出Firebase

时间:2018-01-07 15:55:43

标签: firebase firebase-authentication

我在我的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();它会注销,但是如果我确实登录了它-log与旧电子邮件,有没有办法做到这一点,而无需创建mGoogleApiClient等..?我必须在不同的活动中执行此操作,并且我不想在每个活动上创建它,如果我这样做,我已经对它进行了测试,但我认为它有点脏。

1 个答案:

答案 0 :(得分: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()

  

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