Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了java – Google Play游戏服务中的IllegalStateException没有意义大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在PLay Market玩了一个游戏,然后我收到了消息和堆栈跟踪.

java.lang.IllegalStateException
Msg: (Not connected. Call connect() and wait for onConnected() to be called.)

java.lang.IllegalStateException
com.google.android.gms.internal.p.n(UnkNown sourcE)
com.google.android.gms.internal.p.o(UnkNown sourcE)
com.google.android.gms.internal.e.loadState(UnkNown sourcE)
com.google.android.gms.appstate.AppStateClient.loadState(UnkNown sourcE)
com.peerkesoftware.blockcrusher.CloudSave.load(CloudSave.java:31)
com.peerkesoftware.blockcrusher.CloudSave.setAppStateClient(CloudSave.java:26)
com.peerkesoftware.blockcrusher.MorburActivity.onSignInSucceeded(MorburActivity.java:475)
com.peerkesoftware.libgeneric.app.game.GameHelper.succeedSignIn(GameHelper.java:652)
com.peerkesoftware.libgeneric.app.game.GameHelper.connectNextClient(GameHelper.java:539)
com.peerkesoftware.libgeneric.app.game.GameHelper.onConnected(GameHelper.java:642)
com.google.android.gms.internal.p.k(UnkNown sourcE)
com.google.android.gms.internal.bj.k(UnkNown sourcE)
com.google.android.gms.internal.p$f.a(UnkNown sourcE)
com.google.android.gms.internal.p$f.a(UnkNown sourcE)
com.google.android.gms.internal.p$b.p(UnkNown sourcE)
com.google.android.gms.internal.p$a.handlemessage(UnkNown sourcE)
android.os.Handler.dispatchmessage(Handler.java:99)
android.os.Looper.loop(Looper.java:132)
android.app.ActivityThread.main(ActivityThread.java:4126)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:491)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
dalvik.system.NativeStart.main(Native Method)

奇怪的是消息说我应该调用connect()并等待onConnected().但正如您在stacktrace中看到的那样,调用来自onConnected().所以我确定谷歌播放服务已经连接.为什么我仍然会收到IllegalStateException?我没有意义.

最佳答案
有些情况下,即使正确使用API​​,android.gms.internal也会抛出IllegalStateException.例如.下面的跟踪记录了所有客户端连接的情况,并且正在处理google的successSignIn()回调到我们获得该异常的代码. (SwGameHelper是我们google的GameHelper代码的副本)

请注意,gms.internal堆栈跟踪似乎包含一些名为“signOut”的方法.所以这可能是谷歌代码一个错误,但我的猜测是连接后连接丢失的竞争条件.我不得不在其他连接服务上处理类似的比赛.如果这是一场比赛谷歌可能只需要更好地记录他们的方法可以抛出这个异常,即使你在调用它们时已连接.

我正在解决这个问题的方法.如果我找一个好的修复程序,我会更新.

这是我们最常见的安装客户崩溃错误之一,所以它并不罕见.

onConnected: connected! client=1 com.lootworks.swords.screens.SwGameHelper
ConnecTing PlusClient. com.lootworks.swords.screens.SwGameHelper
onConnected: connected! client=2 com.lootworks.swords.screens.SwGameHelper
All clients Now connected. Sign-in successful. com.lootworks.swords.screens.SwGameHelper
All requested clients connected. Sign-in succeeded! com.lootworks.swords.screens.SwGameHelper

java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called.
    at com.google.android.gms.internal.p.n(UnkNown sourcE)
    at com.google.android.gms.internal.p.o(UnkNown sourcE)
    at com.google.android.gms.internal.bj.a(UnkNown sourcE)
                                       loadAchievements
                                       b
                                       a
                                       signOut
                                       a
                                       a
    at com.google.android.gms.games.GamesClient.loadAchievements(UnkNown sourcE)
                                             signOut
    at com.lootworks.swords.social.SwAchievementManager.loadAndUploadAchievements(sourceFile:441)
    at com.lootworks.swords.activity.SwMap3D.onSignInSucceeded(sourceFile:3526)
    at com.lootworks.swords.screens.SwGameHelper.succeedSignIn(sourceFile:639)
    at com.lootworks.swords.screens.SwGameHelper.connectNextClient(sourceFile:530)
    at com.lootworks.swords.screens.SwGameHelper.onConnected(sourceFile:629)
    at com.google.android.gms.internal.p.k(UnkNown sourcE)
    at com.google.android.gms.internal.bj.k(UnkNown sourcE)
    at com.google.android.gms.internal.p$f.a(UnkNown sourcE)
    at com.google.android.gms.internal.p$f.a(UnkNown sourcE)
    at com.google.android.gms.internal.p$b.p(UnkNown sourcE)
    at com.google.android.gms.internal.p$a.handlemessage(UnkNown sourcE)
    at android.os.Handler.dispatchmessage(Handler.java:99)

大佬总结

以上是大佬教程为你收集整理的java – Google Play游戏服务中的IllegalStateException没有意义全部内容,希望文章能够帮你解决java – Google Play游戏服务中的IllegalStateException没有意义所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。