2017-08-07 103 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; 

而註銷後我不能選擇其他帳戶。