BaseGameUtils未知错误,onConnectionFailed:结果4

Ang*_*ico 10 android google-play-services

我已经测试了ButtonClicker 2000示例,它运行良好.现在我正在尝试将Google游戏服务实施到另一个游戏中,但它会出现一些错误:

06-06 12:30:46.353: D/BaseGameActivity(7982): isGooglePlayServicesAvailable returned 0
06-06 12:30:46.353: D/BaseGameActivity(7982): beginUserInitiatedSignIn: starting new sign-in flow.
06-06 12:30:46.416: D/BaseGameActivity(7982): Connecting GamesClient.
06-06 12:30:46.424: D/BaseGameActivity(7982): onStart.
06-06 12:30:46.424: D/BaseGameActivity(7982): onStart: connecting clients.
06-06 12:30:46.424: D/BaseGameActivity(7982): Connecting GamesClient.
06-06 12:30:46.424: E/GmsClient(7982): Calling connect() while still connected, missing disconnect().
06-06 12:30:46.713: D/BaseGameActivity(7982): onConnectionFailed: result 4
06-06 12:30:46.713: D/BaseGameActivity(7982): onConnectionFailed: since user initiated sign-in, trying to resolve problem.
06-06 12:30:46.713: D/BaseGameActivity(7982): resolveConnectionResult: trying to resolve result: ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{41692200: android.os.BinderProxy@416921a0}}
06-06 12:30:46.713: D/BaseGameActivity(7982): result has resolution. Starting it.

06-06 12:30:46.900: D/BaseGameActivity(7982): onActivityResult, req 9001 response 0
06-06 12:30:46.900: D/BaseGameActivity(7982): responseCode != RESULT_OK, so not reconnecting.
06-06 12:30:46.900: D/BaseGameActivity(7982): giveUp: giving up on connection. Status code: 4
06-06 12:30:46.900: D/BaseGameActivity(7982): Making error dialog for error: 4
Run Code Online (Sandbox Code Playgroud)

com.google.android.gms记录以下错误:

E/SignInActivity(7432): SignInActivity must be started with startActivityForResult
Run Code Online (Sandbox Code Playgroud)

我做了什么:

  • 我已经正确配置了开发人员控制台端.SHA1是正确的(与androiddebug密钥库匹配).
  • 在API控制台中,一切看起来都很好.
  • 我扩展了GameBaseActivity并实现了请求的接口.
  • 我在values文件夹中有一个ids.xml,它与Developer Console中的一个匹配.
  • 我已经覆盖了所请求的方法,包含在ActivityResult()中
  • 清单也没问题,它包括请求的元数据.

  • 这是我用于登录onCreate的代码:

    setSignInMessages("SIGNING IN", "SIGNING OUT");
    beginUserInitiatedSignIn();
    
    Run Code Online (Sandbox Code Playgroud)

在测试示例Button Clicker 2000时,我也遇到了未知错误,并修复了正确配置仪表板的问题.当前的游戏仪表板也配置正确,所以我真的不知道发生了什么.我错过了什么?

编辑:

  • 我还尝试解包BaseGameActivity并直接在我的主Activity中实现GameHelper.
  • 我尝试发布应用游戏设置(因为此游戏已在Play商店发布).使用我的发布签名SHA1密钥链接另一个应用.设置为安装的主要应用程序.仍然没有运气.

thi*_*olr 0

错误非常明显:

E/SignInActivity(): SignInActivity must be started with startActivityForResult
Run Code Online (Sandbox Code Playgroud)

这意味着 SignInActivity 正在启动,startActivity而不是startActivityForResult

搜索此活动的启动位置并更改为 startActivityForResult。如果您发布一些代码,我将能够提供更多帮助!