用户注销:清除默认的谷歌帐户不会导致帐户选择器出现在Android应用程序中



我按照下面的链接在我的android应用程序中实现了一个"注销"按钮,该应用程序使用Google API客户端。然而,在再次连接googleapi时,用户不会看到帐户选择器。她/他最初选择的价值似乎仍在某种程度上被缓存。我已经想了好几个小时了。

欢迎任何想法。非常感谢。

https://developers.google.com/+/移动/安卓/登录

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

我在使用clearDefaultAccount和尝试重新连接时遇到了很多问题。最后,我决定使用AccountPicker类(顺便说一句,它不需要清单中的全局权限)来分离帐户选择过程。

因此,当用户想要连接时,始终显示AccountPicker,然后使用所选帐户来构建您的GoogleApiClient(请参阅GoogleApiCustomer.Builder中的.setAccountName)。

现在一切顺利。

这对我有效-使用revoke删除谷歌客户端中的所有数据:

public void logout()
{
    if (mPlusClient.isConnected())
    {
        Plus.AccountApi.clearDefaultAccount(mPlusClient);
        Plus.AccountApi.revokeAccessAndDisconnect(mPlusClient);
    }
}

之后,如果您尝试再次登录,您将再次看到一个帐户选择器

您没有收到账户选择器,因为您没有调用

重新连接后的mGoogleApiClient.connect()

相关内容

  • 没有找到相关文章