2016-09-20 40 views
0

我通過這個Build an Android App Using Firebase教程,我很困惑,爲什麼FirebaseAuth.getCurrentUser()保持返回用戶即使我運行此代碼:爲什麼我的FirebaseAuth實例仍然擁有FirebaseAuth.getCurrentUser()中的用戶?

private void signOut() { 
    Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
      new ResultCallback<Status>() { 
       @Override 
       public void onResult(Status status) { 
        Toast.makeText(Application.getInstance(), status.getStatus().toString(), Toast.LENGTH_SHORT).show(); 
        mainAdapterOnChange(); 
       } 
      }); 
} 

private void revokeAccess() { 
    Auth.GoogleSignInApi.revokeAccess(mGoogleApiClient).setResultCallback(
      new ResultCallback<Status>() { 
       @Override 
       public void onResult(Status status) { 
        Toast.makeText(Application.getInstance(), "revokeAccess: status = " + status, Toast.LENGTH_SHORT).show(); 
       } 
      }); 
} 

我認爲按谷歌登入按鈕來驗證用戶正在工作,因爲我在GoogleSignInApi.signOut後再次按下按鈕,我可以選擇Gmail帳戶進行登錄。

但是爲什麼我的FirebaseAuth實例仍然有用戶在FirebaseAuth.getCurrentUser()

回答

0

您需要註銷firebase實例,那麼只有當前用戶將被刪除。試試這個代碼

FirebaseAuth.getInstance().signOut(); 

U可以試試這個最新link

+0

是的,這工作,我想,但什麼是GoogleSignInApi.signOut之間VS FirebaseAuth.signOut()和GoogleSignInApi.revokeAccess的更詳細的工作流程差異。是的,我會發佈一個新問題,因爲這個調用「真的」發生了什麼 –

相關問題