我按照以下链接在我的Android应用中实现了“退出”按钮,该按钮使用Google API客户端。但是,再次连接谷歌API后,用户不会看到帐户选择器。看起来她/他原来的选择的价值可能仍然以某种方式缓存。我一直试图弄清楚这几个小时。
任何和所有想法都非常受欢迎。谢谢。
https://developers.google.com/+/mobile/android/sign-in
if (mGoogleApiClient.isConnected()) {
Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
mGoogleApiClient.disconnect();
}
答案 0 :(得分:3)
我使用clearDefaultAccount并尝试重新连接时遇到了很多问题。最后,我决定使用AccountPicker类(顺便说一下,不需要清单中的全局权限)来分离帐户选择过程。
因此,当用户想要连接时,请始终显示AccountPicker,然后使用所选帐户构建您的GoogleApiClient(请参阅GoogleApiClient.Builder中的.setAccountName)。
现在一切顺利。
答案 1 :(得分:3)
这适用于我 - 使用撤销功能删除Google客户端中的所有数据:
public void logout()
{
if (mPlusClient.isConnected())
{
Plus.AccountApi.clearDefaultAccount(mPlusClient);
Plus.AccountApi.revokeAccessAndDisconnect(mPlusClient);
}
}
之后,如果您再次尝试登录,您将再次出现一个帐户选择器
答案 2 :(得分:-1)
由于您未致电
,因此未向您提供帐户选择器 重新连接后 mGoogleApiClient.connect()
。