注销后GoogleSignInClient帐户选择器未显示



我正在通过GoogleSignInClientSignInIntent为我的Xamarin中的Play Services功能实现Google登录。Android应用程序和我需要每次都显示帐户选择器。但是,当我通过_signInClient.SignOutAsync()注销然后再次登录时,帐户选择器不再显示,而是自动选择我使用的上一个帐户。即使我有多个帐户登录到我的设备,这个问题仍然会发生。

通过Android设置清除Google Play Services缓存可以解决这个问题,但对于普通用户来说,这并不是一个理想的解决方案。

我尝试使用ClearDefaultAccountAndReconnect((,但收到错误:

无连接客户端不支持方法。API支持无连接客户端不得调用此方法。

var client = _signInClient.AsGoogleApiClient();
if (client.HasConnectedApi(Auth.GOOGLE_SIGN_IN_API))
{
await client.ClearDefaultAccountAndReconnect();
}
await _signInClient.SignOutAsync();

有推荐的方法吗?(Android中的实现也很受欢迎(

谢谢!

注意:我没有使用Firebase或其他谷歌服务。我只需要登录即可访问Play Services的成就。

这似乎是一个特定于操作系统的问题。我在安卓9设备上面临这个问题,但在安卓11设备上没有。在安卓9设备上,我只能在重新启动手机后才能回到账户选择器屏幕。这是我正在使用的代码

gsc.signOut().addOnCompleteListener {
val intent = gsc.signInIntent
gmailIntentLauncher.launch(intent)
}

它在安卓11设备上运行如预期。

最新更新