当我调用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()
之后,我需要的一切都会发生。
在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方法,而传递参数。