GoogleApiClient 和 Drive.API 错误
Posted
技术标签:
【中文标题】GoogleApiClient 和 Drive.API 错误【英文标题】:GoogleApiClient and Drive.API error 【发布时间】:2015-03-09 16:24:24 【问题描述】:我正在尝试在我的 android 游戏中启用保存的游戏。但是,我发现如果我打电话
builder.addApi(Drive.API);
builder.addScope(Drive.SCOPE_APPFOLDER);
“选择帐户”对话框根本没有显示,因此我无法登录。
取消注释这两行并且一切正常(登录、排行榜、成就),但保存游戏除外。尝试获取快照会给我以下错误
01-11 23:30:14.549 18072-18488/? E/Evader﹕ Must include Drive.SCOPE_APPFOLDER to use snapshots!
java.lang.IllegalStateException: Must include Drive.SCOPE_APPFOLDER to use snapshots!
这是否已弃用?这是https://developers.google.com/games/services/android/savedgames上推荐的方法
如果相关,我正在使用 LibGDX 和 BaseGameUtils
【问题讨论】:
【参考方案1】:如果您在问题中包含的代码是准确的,那么问题在于您如何调用 Builder 类。
客户端是使用builder模式构建的,所以在创建builder实例时需要更新上一次调用的返回值,如:(注意只有一个分号)。
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Games.API).addScope(Games.SCOPE_GAMES)
.addApi(Drive.API).addScope(Drive.SCOPE_APPFOLDER)
.build();
【讨论】:
只要我添加Api(Drive.API),“选择帐户”对话框就不会显示。 那么,如果你只使用范围 scope_appfolder 和 scope_games 是否有效?【参考方案2】:问题不在于代码。这是电话(测试设备)。 我在另一台设备上进行了测试,它完美无缺。 我更新了已卸载的 Google Play 商店和 Google Play 服务更新,并重新安装了它们,一切正常。
TLDR - 在多个设备上进行测试。我不完全确定为什么我的设备上只发生了我的游戏,但在执行上述操作后,一切正常。
感谢克莱顿威尔金森
【讨论】:
以上是关于GoogleApiClient 和 Drive.API 错误的主要内容,如果未能解决你的问题,请参考以下文章
GoogleApiClient 和 Drive.API 错误
分离 Activity 和 GoogleApiClient 的关注点
捕捉 GoogleApiClient.disconnect() 回调
GoogleApiClient 在调用 onConnected 函数后抛出“GoogleApiClient 尚未连接”
GoogleApiClient 中的 getLastLocation() 始终为空
Android - GoogleApiClient 实例在 IntentService 中的 .connect() 和 onConnected() 之间丢失