繁体   English   中英

在Android中登录Google+,然后维护离线会话

[英]Google+ login in android and then maintain offline session

范围

我想在我的应用中使用google登录。 为此,我提到了https://developers.google.com/+/mobile/android/sign-in并能够创建基本登录名。

问题

现在,这个问题很有趣。 登录过程就像一个超级按钮一样工作,但仅在连接互联网时才起作用。 让我们进入一个特定的用例:

  1. 我启动了该应用程序,并使用我的xxxx@gmail.com登录。
  2. 我关闭了应用程序,然后再次启动。 它会自动登录到xxxx@gmail.com。 从技术上讲:onConnected()被调用。 (必须是这样,没问题)
  3. 我关闭了应用程序,并关闭了互联网连接。
  4. 现在再次启动该应用程序,该帐户已注销,正如我在日志中看到的那样:“清除* packagename的选定帐户”-(与此相关的内容)
  5. 我再次打开互联网连接,然后启动了该应用程序,什么也没发生。 它(帐户)没有登录(因为它是自动注销的)。 技术上:这次onConnectionFailed()被调用

因此,即使互联网已关闭,我也要保留此登录名,该怎么办? 其他几个应用程序也可以做到这一点。

自挖

  1. 我浏览了其他具有google Login的流行应用程序的日志,即使互联网未连接,该登录仍然存在,并将这些日志与我的应用程序的日志进行了比较。

登录其他应用程序:

  02-16 00:51:13.493: W/GLSUser(26959): [GLSUser] [GLSUser]  Permission for *packagename* to access oauth2:https://www.googleapis.com/auth/userinfo.email will be managed locally.

登录我的应用程序:

   02-16 00:50:16.203: W/GLSUser(26959): [GLSUser] [GLSUser]  Permission for *packagename* to access oauth2:https://www.googleapis.com/auth/plus.me will be managed remotely.
  1. 我发现只有在我使用scope =时才会发生这种奇怪的事情

     Plus.SCOPE_PLUS_PROFILE 

    但是,当我使用scope ='email'或'profile'或Plus.SCOPE_PLUS_LOGIN时。 在离线模式下可以正常工作。

有谁能够帮助我 ??

您很可能没有存储凭据(身份验证令牌),而是使用它在简历上重新进行身份验证。

从Java的Google API客户端检查示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM