如何获取Google Play服务目前已关联的帐户?

时间:2015-10-26 10:56:52

标签: android google-play-services

许多Google应用程序允许您在Google帐户之间切换,并向您显示当前连接的帐户。

例如Google Fit,Gmail,Google +等...

从代码的角度来看,我在Google客户端上调用.connect()并输入

循环
  • 连接失败
  • 启动自动解决方案
  • 获取活动结果
  • 重试连接

直到我最终连接。

这在很多地方都有记载,例如:https://developers.google.com/android/guides/api-client

在UX方面,会发生的情况是,每次出现不同的情况时,都会向用户显示多个对话框。

其中一个对话框要求在手机上可用的帐户之间选择一个帐户(如果只配置了一个帐户,则可能会在没有用户互动的情况下自动解析)。

如何查询Google客户端以了解当前连接的帐户?

我在任何地方都没有找到相关文档。

我发现最接近的是: https://developers.google.com/android/reference/com/google/android/gms/common/AccountPicker

但是我没有创建选择器,它是由我在上面描述的过程中由Play服务完全处理的。

1 个答案:

答案 0 :(得分:0)

您必须使用Google Plus API申请Account资源。

在清单中添加以下权限:



<uses-permission android:name="android.permission.GET_ACCOUNTS" />
&#13;
&#13;
&#13;

然后使用this API获取当前登录的帐户。

编辑(解决评论):

.builder中添加登录范围,如the example所示,并启动G + Api。由于您不需要社交范围,因此该范围将允许您访问当前经过身份验证的用户信息 通过构建器setAccountName后,您可以访问此用户的帐户资源,您可以通过getAccountName随时获取该资源。

编辑2:

对于不通过上次编辑解决G +上下文而道歉。

Here是简单Google登录(身份平台)中的一个课程,可让您访问帐户资源。
official documentation

中的更多信息