用户注销:清除默认Google帐户不会导致帐户选择器显示在Android应用中

时间:2014-10-20 00:56:02

标签: android google-api google-api-java-client google-api-client google-app-engine

我按照以下链接在我的Android应用中实现了“退出”按钮,该按钮使用Google API客户端。但是,再次连接谷歌API后,用户不会看到帐户选择器。看起来她/他原来的选择的价值可能仍然以某种方式缓存。我一直试图弄清楚这几个小时。

任何和所有想法都非常受欢迎。谢谢。

https://developers.google.com/+/mobile/android/sign-in

if (mGoogleApiClient.isConnected()) {
  Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
  mGoogleApiClient.disconnect();
}

3 个答案:

答案 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()