【问题标题】:Google Play Games has crash on logoutGoogle Play 游戏在注销时崩溃
【发布时间】:2017-12-11 15:27:00
【问题描述】:

自从将 Google Play 服务迁移到 11.6.0 后,我的崩溃报告中一直弹出以下错误:

Fatal Exception: java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called.
       at com.google.android.gms.common.internal.zzd.zzakb(Unknown Source)
       at com.google.android.gms.common.internal.zzd.zzakc(Unknown Source)
       at com.google.android.gms.games.internal.GamesClientImpl.zzg(Unknown Source)
       at com.google.android.gms.games.internal.GamesClientImpl.zza(Unknown Source)
       at com.google.android.gms.common.api.internal.zzbr.signOut(Unknown Source)
       at com.google.android.gms.common.api.internal.zzbp.zzaii(Unknown Source)
       at com.google.android.gms.common.api.internal.zzbp.handleMessage(Unknown Source)
       at android.os.Handler.dispatchMessage(Handler.java:101)
       at android.os.Looper.loop(Looper.java:156)
       at android.os.HandlerThread.run(HandlerThread.java:61)

堆栈跟踪中signOut 的出现似乎表明涉及注销过程,但我一直无法找出到底出了什么问题。 目前注销流程的代码如下:

protected void logout() {
    if (GoogleSignIn.getLastSignedInAccount(this) != null) {
        mGoogleSignInClient.signOut().addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                mGoogleSignInAccount = null;
                setIgnoreConnectionResolution(true);
                onDisconnected();
            }
        });
    }
}

如果有人知道如何解决此问题,或者至少如何向 Google 报告,我们将不胜感激。

【问题讨论】:

  • 你检查过这个github post中的解决方案了吗?
  • @MαπμQμαπkγVπ.0:是的,更新播放服务没有任何作用,其他解决方案也没有

标签: android google-play-games


【解决方案1】:

你是否在 onDisconnected 中调用了任何 PGS 方法?如果是这样,您应该在调用 mGoogleSignInClient.signOut() 之前调用它们。

【讨论】:

    【解决方案2】:

    我也在尝试迁移到新的 GPS,但遇到了和你一样的问题。

    我在尝试修复另一个问题时偶然修复了它。

    我所做的只是从我的 onStop 方法中删除 signOut(使用之前的 API 在 onStop 方法上调用 disconnect 是一个很好的做法)。

    由于 signOut 实际上会清除用户先前选择的帐户,当在 onStop 方法中调用时,它会产生各种其他问题(当检查用户是否登录时,或者当silentSignIn 总是失败时,尤其是在活动之间)。

    所以我不知道你是否也在 onStop 上调用了 signOut,我不确定它是如何导致我的应用程序以同样的方式崩溃的,但如果你这样做了,请尝试不使用它。

    更新后的示例应用程序在 onStop 方法中不包含任何内容(与以前调用断开连接的应用程序相比),所以我想该方法没有什么可做的。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多