我正在使用 Google Play Games Services 开发 Android 应用程序,并且按照入门指南将 BaseGameUtils 作为模块导入到我的 IntelliJ 项目中。这现在工作正常,除了每当我打开一个继承BaseGameActivity
和调用的活动时beginUserInitiatedSignIn()
,都会提示用户选择要连接的 Google 帐户(如果手机上有多个帐户)。现在,如果不是因为在我的应用程序中,用户已经使用 OAuth2 ( GoogleAuthUtil / AccountPicker ) 通过 Google Play 服务进行了身份验证,这会很好。它已经给出了他/她想要使用的帐户 - 不需要再次询问。
无论如何我可以修改BaseGameActivity.java
或GameHelper.java
不再提示用户?和/或我是否需要更改使用 OAuth2 登录的方式?
我尝试将四个范围 PLUS_PROFILE、PLUS_LOGIN、GAMES 和 APP_STATE 添加到我的 OAuth 登录例程中,但是 AccountPicker-popup sill 出现在我从 BaseGameActivity 继承的活动中。
更新:Logcat 日志
07-23 11:45:25.275: DEBUG/CSDN-GMS(22315): isGooglePlayServicesAvailable returned 0
07-23 11:45:25.275: DEBUG/CSDN-GMS(22315): beginUserInitiatedSignIn: starting new sign-in flow.
07-23 11:45:25.285: DEBUG/CSDN-GMS(22315): Connecting GamesClient.
07-23 11:45:25.295: DEBUG/CSDN-GMS(22315): onStart.
07-23 11:45:25.295: DEBUG/CSDN-GMS(22315): onStart: connecting clients.
07-23 11:45:25.295: DEBUG/CSDN-GMS(22315): Connecting GamesClient.
07-23 11:45:25.395: DEBUG/CSDN-GMS(22315): onConnectionFailed: result 4
07-23 11:45:25.395: DEBUG/CSDN-GMS(22315): onConnectionFailed: since user initiated sign-in, trying to resolve problem.
07-23 11:45:25.395: DEBUG/CSDN-GMS(22315): resolveConnectionResult: trying to resolve result: ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{4190b780: android.os.BinderProxy@4190a780}}
07-23 11:45:25.395: DEBUG/CSDN-GMS(22315): result has resolution. Starting it.