Firebase注销无效

时间:2017-08-07 17:20:16

标签: android authentication firebase firebase-authentication

我已经开始使用Firebase,但我的经历非常糟糕。

我无法退出用户。

我尝试了不同的事情,花了我4天的时间来弄清楚如何退出用户但是没有明确的选择。

我想完全唱出用户,以便他们可以选择另一个Gmail帐户。

我试过下面的代码:

FirebaseUser user = firebaseAuth.getCurrentUser();
user.unlink(user.getProviderId()); FirebaseAuth.getInstance().signOut();

里面的

mAuth = FirebaseAuth.getInstance();//mAuth.signOut();
        //auth fail olarsa mAuth.signOut(); sil sonra yerne qoy
        mAuthListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {

我也试过这个:Properly log out a user from android app

3 个答案:

答案 0 :(得分:1)

如果您查看Firebase Auth Quickstart示例代码,则Google提供商的退出包含以下步骤。

您在退出时是否致电Auth.GoogleSignInApi.signOut()?所以,请使用此代码:

private void signOut() {
    // Firebase sign out
    mAuth.signOut();

    // Google sign out
    Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
        new ResultCallback<Status>() {
            @Override
            public void onResult(@NonNull Status status) {
                //do what you want
            }
        });
}

答案 1 :(得分:0)

您使用的是比我更新的版本,我怀疑它们是否引入了新的错误。您之前提到过NullPointerException,因此我建议您确保传递给Auth.GoogleSignInApi.getSignInIntent的GoogleApiClient不为空。

答案 2 :(得分:-1)

我也有这个问题,现在,LogoutBtn在抽屉里面,如下所示:

case R.id.initiates_logout:
            if(FirebaseAuth.getInstance().getCurrentUser()!=null){
                new AlertDialog.Builder(this)
                        .setTitle("Text1")
                        .setMessage("Text2")
                        .setIcon(android.R.drawable.ic_dialog_alert)
                        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {
                                FirebaseAuth.getInstance().signOut();
                                LoginManager.getInstance().logOut();


                            }})
                        .setNegativeButton(android.R.string.no, null).show();
            }
            break;

我无法在退出后选择其他帐户。