gpt4 book ai didi

android - Google Firebase 在 Android 应用中注销并忘记用户

转载 作者:太空宇宙 更新时间:2023-11-04 12:15:37 24 4
gpt4 key购买 nike

当我调用 mFirebaseAuth.signOut()mFirebaseUser.delete() 时,我的 FirebaseAuth.AuthStateListener() 正常工作并在 onAuthStateChanged 中返回 null 作为 FirebaseUser 实例,我刷新 UI 并显示“使用 Google 登录”按钮。

但是当我想再次登录时,我看不到与用户的对话框(我的设备上有 2 个用户,附有图像)。该应用程序仅在首次登录时显示此对话框,之后它使用同一用户。如果我在设置屏幕上清除应用程序的数据,我将能够再次看到此对话框。

我的问题是如何在每次注销后显示此对话框。

enter image description here

按下“登录”按钮时运行此代码:

// in onCreate()
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();

// in OnClickListener
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, FirebaseActivity.REQUEST_SIGN_IN);

onActivityResult() 中,我获得了 GoogleSignInResult 的实例,因此我需要的一切都会在调用 startActivityForResult() 后发生。

最佳答案

Firebase Auth Quickstart sample code ,退出 Google 提供商包括以下步骤。您退出时是否调用 GoogleSignInClient.signOut()

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

// Google sign out
mGoogleSignInClient.signOut().addOnCompleteListener(this,
new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
updateUI(null);
}
});
}

关于android - Google Firebase 在 Android 应用中注销并忘记用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39441773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com