我正在开发一个集成了 google plus 的应用程序。到目前为止它工作正常,我能够检索用户配置文件。
但现在我想做以下事情:
1)我有两个 Activity signInActivity
和 shareActivity
。
2)如果用户已经使用 signInActivity
登录,则不应再次要求登录
shareActivity
并且应该直接分享内容。
3) 如果用户没有在 signInActivity
中登录并尝试使用 shareActivity
共享数据,则应用应登录用户然后仅共享数据。在这种情况下,如果用户返回 signInActivity
那么应用应该显示“您已经登录”
简而言之,我希望用户登录在应用程序中中央,这样如果它已经登录,它应该可以从任何 Activity 中访问。
我听说过访问 token ,但我不知道如何使用它,并且文件说它会在一小时内到期,这不是我想要的。
如何进行中央 google plus 登录?可能吗?或者我需要在每个 Activity 中对用户进行身份验证?
最佳答案
在每个 Activity 中管理单独的 GoogleApiClient 实例不会导致用户被要求多次登录。
Google+ 登录(即 GoogleApiClient)为设备上的 Google 帐户和 Google Play 服务核心服务提供接口(interface) - 它没有每个 GoogleApiClient 实例的状态。因此,一旦为您的应用程序验证了设备帐户,GoogleApiClient 的新实例将访问相同的状态。 GoogleApiClient 专门设计为一种访问由 Google Play 服务管理的中央状态的轻量级方式。
您在访问 token 方面很幸运! Google Play 服务会为您处理所有 token 管理。因此,尽管访问 token 仅持续一小时,正如您所说,如果您尝试使用 PlusClient 访问 Google API 并且您的访问 token 已过期,Google Play 服务将透明地为您请求新的访问 token 并完成调用。
查看此 Google I/O 演讲的第一部分了解更多详情:
关于android - 从多个 Activity 中访问 google plus 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16827839/