【发布时间】:2014-12-01 01:08:59
【问题描述】:
我正在努力将 Google+ 登录功能集成到一个应用程序中,而且我现在大部分时间都在工作。按照此处的说明进行操作:
https://developers.google.com/+/mobile/android/sign-in
我能够添加“使用 Google 登录”按钮,集成来自 Play 服务的 GoogleApiClient,并允许用户登录到他们选择的 Google 帐户。
但是,为了遵守 Google 服务条款,我还想提供一种方法(在不同的活动中)让他们完全断开其 Google+ 帐户与应用的连接。根据此处的 Google 文档:
这是一个简单的问题,通过连接的GoogleApiClient 调用Plus.AccountApi.revokeAccessAndDisconnect()。问题是,这首先要求我有一个连接的GoogleApiClient。
第一个链接中概述了获取此类对象的过程:使用GoogleApiClient.Builder 构建客户端对象,在其上调用connect(),并使用适当的回调来检测连接成功或失败。但是,如果用户的手机上有多个 Google 帐户,那么connect() 会导致立即失败,要求我调用解决意图,这将弹出一个对话框,要求他们选择他们想要使用的帐户。
但这不适用于这种情况,因为他们已经登录了 Google+,所以我应该已经知道要使用哪个帐户。请记住,此时,我需要做的就是创建一个GoogleApiClient 对象,并登录到他们之前登录的帐户,然后我可以将它传递给Plus.AccountApi.revokeAccessAndDisconnect()。但我不知道该怎么做。
我查看了文档并搜索了我能想到的每个单词组合来解释这个问题,但到目前为止我什么也没找到。有没有办法用特定帐户实例化GoogleApiClient,而不是要求用户从现有帐户列表中进行选择?或者,如果没有,是否有一些信息保存到首选项中,我可以访问这些信息以获取他们已经在我的应用中授权的帐户的令牌?
【问题讨论】:
标签: android google-plus