当前位置: 首页 > 知识库问答 >
问题:

谷歌Firebase在Android应用程序中注销和忘记用户

方季同
2023-03-14

当我调用MFirebaseAuth.Signout()MFirebaseUser.Delete()我的FirebaseAuth.AuthStateListener()工作正常并将Null作为OnAuthStateChanged中的FirebaseUser实例返回时,我将刷新UI并显示“使用Google登录”按钮。

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

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

我在按下登录按钮时运行以下代码:

// 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()之后,我需要的一切都会发生。

共有1个答案

西门良才
2023-03-14

在Firebase Auth Quickstart示例代码中,Google provider的签出包括以下步骤。您是否在注销时调用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);
                }
            });
}
 类似资料:
  • 它给出: 下面是我使用的代码: 方法verifyUserExistance是; 我就是这样处理注销的;

  • 我已经尝试了这里提到的许多解决方案,但我仍然无法解决这个问题。我收到: “Google登录失败。com.google.android.gms.common.api.apiException:10” 下面是我的代码: 附言。我也在同一个项目中使用Firestore数据库。我已经成功地将google-services.json保存在应用程序的文件夹中。

  • 接下来,我生成了自己的OAuth2客户机ID并使用它。这种方法很简单,直到我开始收到来自Google的“匿名使用过期”错误,一段时间后我意识到这是因为密钥没有启用只读日历范围。 我的下一个想法是公开日历,并使用静态API密钥,但日历是从一个名为Peak Pro的预订服务中同步的,该服务用参加活动的客户的姓名、电子邮件和电话号码填充日历描述。我不能公开揭露那些。 接下来,我被吸引到了CalDAV A

  • 用户无法注销Firebase Android。当我按注销按钮时,它不会注销。 代码在这里:- 日志包括: 02-13 23:54:19.654 307 3-3073/com.example.imran.bloodgenders i/view:Touch down dispatch to android.widget.button{42d3afa0 vfed..........120,594-600

  • 我想集成谷歌照片api在Android,我已经做了谷歌登录过程中,但我不能得到访问令牌,因为我得到错误的FixedCreentalsProvider.create方法,而传递参数。