2017-08-07 123 views
1

我已经开始使用Firebase,但我的经验很糟糕。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

+0

什么是错误? –

+0

当我点击登录时,它不显示电子邮件列表,它使用之前选择的电子邮件登录@AlexMamo –

回答

0

您使用的版本比我高,我怀疑他们引入了一个新的错误。您之前提到NullPointerException,所以我建议您确保您传递给Auth.GoogleSignInApi.getSignInIntent的GoogleApiClient不为null。

+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 
      } 
     }); 
} 
+0

Google Sign-In的当前文档声明'要退出用户,请致电signOut: FirebaseAuth.getInstance ).signOut();'https://firebase.google.com/docs/auth/android/google-signin – user3175580

+0

java.lang.NullPointerException:尝试调用虚拟方法'android.content.Context com.google.android。 gms.common.api.GoogleApiClient.getContext() 它给出了错误,我之前已经尝试过 –

+0

@ user3175580这是不够的,因为用户无法使用其他帐户登录 –

0

我也有这个问题,现在,该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; 

而注销后我不能选择其他帐户。