3

我对 Google SDK 有点陌生,我正在尝试在我的应用中实现一个 Google 登录按钮,以便用户可以使用他们的 Google 帐户登录。我添加了SignInButton一个对象并处理了基本身份验证流程PlusClient。我还使用AsyncTask来获取 Auth Token GoogleAuthUtil。一旦我成功获得令牌,我就会打电话LoginActivity.finish()并允许访问我的应用程序。

当我单击时,SignInButton我得到以下信息:

  1. 提示一个窗口在我的谷歌帐户之间进行选择。
  2. 一个权限屏幕,要求我确认此应用是否想知道您的姓名、基本信息等。我单击“确定”。
  3. 一个奇怪的通知警告图标(内部带有感叹号的三角形),上面写着“登录请求”
  4. 单击通知后,我会看到一个快速的“正在登录..”屏幕几秒钟,然后返回到第 2 步 - 我再次单击“确定”。
  5. 再次单击登录按钮使我成功登录。

这个流程显然不是应该的,所以我的问题是:

  • 为什么我会出现两次请求权限屏幕?而且每次我尝试登录?
  • 如何摆脱那个奇怪的警告通知并在完成后登录?

将 Android SDK v4.2 与 Play Services SDK v10 一起使用

编辑

好吧,这是一个愚蠢的问题,但我还没有完全弄清楚。事实证明,GoogleAuthUtil.getTokenWithNotification如果该方法因可恢复的操作而失败,我正在使用它发送推送通知。所以我把它改回来了GoogleAuthUtil.getToken,现在我以编程方式恢复它更好。但是我仍然得到干预屏幕,一次是在我尝试连接时拨打result.startResolutionForResult内部电话,第二次是在拨打电话后拨打电话。这还是个谜……onConnectionFailed(ConnectionResult result)startActivityForResultGoogleAuthUtil.getToken

编辑 2

关于提示给用户的重复权限的第一个问题(上面回答了第二个问题)在此处讨论

4

0 回答 0