Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用户注销:清除默认Google帐户不会导致帐户选择器出现在Android应用程序中_Android_Google Api_Google Api Java Client_Google Api Client_Google App Engine - Fatal编程技术网

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

用户注销:清除默认Google帐户不会导致帐户选择器出现在Android应用程序中,android,google-api,google-api-java-client,google-api-client,google-app-engine,Android,Google Api,Google Api Java Client,Google Api Client,Google App Engine,我按照下面的链接在我的android应用程序中实现了一个“注销”按钮,该应用程序使用Google API客户端。但是,在再次连接google api时,用户不会看到帐户选择器。她/他最初选择的价值似乎仍在某种程度上被缓存。几个小时来我一直在想这个问题 欢迎提出任何意见。多谢各位 我在使用clearDefaultAccount和尝试重新连接时遇到了很多问题。最后,我决定使用类来分离帐户选择过程(顺便说一句,它不需要清单中的全局权限) 因此,当用户想要连接时,始终显示AccountPicker,然

我按照下面的链接在我的android应用程序中实现了一个“注销”按钮,该应用程序使用Google API客户端。但是,在再次连接google api时,用户不会看到帐户选择器。她/他最初选择的价值似乎仍在某种程度上被缓存。几个小时来我一直在想这个问题

欢迎提出任何意见。多谢各位


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

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


现在一切都很顺利。

因为您没有打电话,所以没有向您介绍一位客户选择器


mGoogleApiClient.connect()
重新连接后。

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

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

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

谢谢jmart,因此您不知道潜在的问题是什么,例如,可能是谷歌的已知缺陷报告,等等?不,我搜索了,但我没有找到任何关于它的信息。我唯一发现的是很多人在使用这些API时遇到了问题。我想这些客户端需要更多的迭代才能让它们更好地工作。谢谢,这些事情让你很沮丧,你的解决方案非常有意义,但我想我们现在坚定地生活在一个外部API永远不会符合最低标准的世界里。。。我们这里不是在谈论晦涩难懂的功能,这是基本的注销,谷歌正在努力推动他们的G+功能。可悲的是,这些天我们都在快速迭代和推出产品,我想总比永远等待完美的产品好/RANT非常有帮助,您注意到
AccountPicker
不需要
GET_ACCOUNTS
许可。谢谢您的评论,但事实并非如此,我的问题恰恰是,在随后的“连接”通话中,我有时(相当一致地)没有弹出窗口。是的,直到它没有弹出为止。它不可靠,同样的代码有时有效,有时无效。。。。谢谢你的评论。谢谢你的信息。但到目前为止,他确实为我工作。你找到可靠的解决方案了吗?也许它在旧版本中不起作用,但现在起作用了?不,它在我的清单上,尽管我最终计划做的就是接受这个答案。诚然,我还没有机会用最新的API进行测试,所以这可能已经被修复了!我会花一点时间在这个漫长的周末编码:)好的,谢谢你的信息。我上个星期才开始使用它,就我个人而言,在我自己的手机上,我还看不出这个解决方案有任何问题
public void logout()
{
    if (mPlusClient.isConnected())
    {
        Plus.AccountApi.clearDefaultAccount(mPlusClient);
        Plus.AccountApi.revokeAccessAndDisconnect(mPlusClient);
    }
}