android - 从多个 Activity 中访问 google plus 客户端

标签 android google-plus access-token

我正在开发一个集成了 google plus 的应用程序。到目前为止它工作正常,我能够检索用户配置文件。

但现在我想做以下事情:

1)我有两个 Activity signInActivityshareActivity

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 演讲的第一部分了解更多详情:

http://www.youtube.com/watch?v=_KBHf1EODuk

关于android - 从多个 Activity 中访问 google plus 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16827839/

相关文章:

android - 关于在Textview中动态生成数学和科学公式

java - 在 Android 的字符串中用 ". "替换 "\n\n"

php - 从对象末尾删除 "\ufeff"-> Google+ API json 结果中的内容

安卓谷歌+登录

facebook - 无法使用指定的 access_token 访问应用程序

android - Android Studio Gradle在加载旧的gradle项目期间挂起

android - 如何检测 Jetpack Compose 中变换手势的结束?

html - HTML 格式的 Google Plus 类型卡片布局

Spring OAuth2 - 创建访问 token

access-token - 我需要 Stormpath 的概述,我可以在我的 Web 应用程序中使用它吗?