忘記用戶當我打電話mFirebaseAuth.signOut()
或mFirebaseUser.delete()
我FirebaseAuth.AuthStateListener()
作品正確,並用onAuthStateChanged
返回null
爲FirebaseUser
情況下,我刷新界面,並顯示「在與谷歌」按鈕。谷歌火力地堡登出,並在Android應用
但是當我想再次登錄時,我沒有看到與用戶(我的設備上有2個用戶,附加圖像)的彈出窗口。該應用僅在首次登錄時顯示此彈出窗口,之後它將使用同一用戶。如果我在設置屏幕上清除應用程序的數據,我將能夠再次看到該彈出窗口。
我的問題是如何在每次退出後顯示此彈出窗口。
我跑的時候這個代碼按下登錄鍵:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, FirebaseActivity.REQUEST_SIGN_IN);
在onActivityResult()
,我得到的GoogleSignInResult
一個實例,這樣我需要的一切發生了,我叫startActivityForResult()
後。
代碼或者它並沒有發生。讓我們看看你的邏輯顯示彈出。 –
快速猜測:調用'signOut()'向用戶簽名我們的Firebase身份驗證。它不會將用戶從底層的社交提供商(例如Facebook,Google)上簽名。因此,下次您啓動該提供商的登錄流程時,它將立即被您的代碼(或您使用的庫)提取。但是,如果您展示[再現問題的最小代碼](http://stackoverflow.com/help/mcve),那麼說出來會更容易。 –
通過將您的代碼與[Firebase Auth快速入門項目](https://github.com/firebase/quickstart-android/tree/master/auth)進行比較,您可能會得到一些線索。當我使用Google Signin運行它時,每次都會顯示帳戶選擇器對話框。不知道對於Twitter,Facebook等是否屬實。 –