android - BaseGameUtils 未知错误,onConnectionFailed : result 4

标签 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

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

E/SignInActivity(7432): SignInActivity must be started with startActivityForResult

我做了什么:

  • 我已经正确配置了开发者控制台端。 SHA1 正确(与 androiddebug keystore 匹配)。
  • 在 API 控制台中,一切看起来都很好。
  • 我扩展了 GameBaseActivity 并实现了请求的接口(interface)。
  • 我在 values 文件夹中有一个 ids.xml,它与 Developer Console 中的匹配。
  • 我已经覆盖了请求的方法,包括 onActivityResult()
  • list 也可以,它包含请求的元数据。

  • 这是我在 onCreate 中用来登录的代码:

    setSignInMessages("SIGNING IN", "SIGNING OUT");
    beginUserInitiatedSignIn();
    

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

编辑:

  • 我还尝试打开 BaseGameActivity 并实现 GameHelper 直接在我的主要 Activity 中。
  • 我尝试发布应用游戏设置(因为该游戏已在 Play 商店中发布)。将另一个应用程序与我的发布签名 SHA1 key 相关联。设置为主应用程序进行安装。仍然没有运气。

最佳答案

这真的很奇怪。根据您的 BaseGameActivity 日志,您遇到的错误不应发生。

SignInActivity 在代码中确实不可见,因为您通过调用 GameHelper.resolveConnectionResult 启动它,这将调用 mConnectionResult.startResolutionForResult(mActivity, RC_RESOLVE)。那是 mConnectionResult,它具有将启动 SignInActivity 的 Intent。 BaseGameActivity 的日志显示您正在正确启动它,因此除非您对 BaseGameActivity 和 GameHelper 进行了一些更改,否则错误很奇怪。

您在哪里查找错误?在你的包过滤器中?真正有用的信息显示在 LogCat 中,但不在您的应用程序过滤器中。在 LogCat 中查找所有没有过滤器的消息,然后搜索标签 Volley 和 GameAgent。它可能会向您显示一些错误。

还有一件事:登录对话框是否仍然显示?何时显示 SignInActivity 错误(时间戳)?

关于android - BaseGameUtils 未知错误,onConnectionFailed : result 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960207/

相关文章:

android - 更好看的谷歌游戏等候室用户界面

java - 从静态内部类调用非静态方法

android - Flutter - 关闭 showDialog 后运行函数

android - 在gradle中包含播放服务时,所有com.android.libraries支持都必须使用相同版本

android - 在 android 项目中使用 google Place picker

android - Android 有 IDFV 吗?

android - 使用谷歌播放服务获取坐标与不使用谷歌播放服务

javascript - HttpRequestHandler : Sending a pdf file in response

javascript - 在页面加载时将 javascript 函数注入(inject) WebView

android - 为 Button 的文本颜色设置 alpha