【发布时间】:2016-09-02 03:50:58
【问题描述】:
每次我尝试在我的应用中访问我的排行榜时,它们都会自动关闭。然而,成就完美无缺。我收到错误代码 10001 (RESULT_RECONNECT_REQUIRED)。来自 Google Play 网站,
GoogleApiClient 处于不一致状态,必须重新连接到服务才能解决问题。使用当前连接进一步调用服务不太可能成功。
但是,重新连接不起作用。
这是我发现不适合我的解决方案列表
- 重新安装应用程序
- 从 Google Play 游戏和 Google Play 服务中删除数据
- 检查服务设置是否正确
我用来展示排行榜的代码是:
act.startActivityForResult(Games.Leaderboards.getAllLeaderboardsIntent(client), RC_SIGN_IN);
//act.startActivityForResult(Games.Leaderboards.getLeaderboardIntent(client, act.getString(R.string.leaderboard_progression)), RC_SIGN_IN); //Single leaderboard does not work either
我们将不胜感激!
更新 1:
尝试在 onActivityResult() 中使用它:
System.out.println(client.getConnectionResult(Games.API));
但它只是输出这个:
ConnectionResult{statusCode=SUCCESS, resolution=null, message=null}
在 Google API 网站上,我的应用程序显示有很多 4xx 错误。来自http://www.websitepulse.com/kb/4xx_http_status_codes.html,
4xx - 客户端错误
这组 HTTP 状态代码表示 资源请求包含错误语法或无法填写 其他一些原因,可能是由于客户端发送的错误 要求。除非响应 HEAD 请求,服务器应该 包括对错误情况的解释以及它是否是 暂时或永久的状况。这些状态码适用于 任何请求方法。
因此,我可以假设问题出在客户端。但我不知道可能出了什么问题。我检查了我的 SHA1、应用程序 ID 等,并且成就工作正常。我还尝试将 build.gradle 的依赖项更新为最新版本的 Play Services,但没有解决任何问题。
【问题讨论】:
-
检查这个SO thread,它可能会有所帮助。
-
我发誓我已经这样做了至少两次,我刚刚又做了一次,它成功了!谢谢!