Google Game Center 中的空指针异常

Posted

技术标签:

【中文标题】Google Game Center 中的空指针异常【英文标题】:Null Pointer Exception in Google Game Center 【发布时间】:2014-05-10 21:10:08 【问题描述】:

我正在尝试合并 Google Game Center,但我看到了强制关闭应用程序的错误。 这是错误

03-31 18:35:12.822: E/androidRuntime(12814): java.lang.NullPointerException
03-31 18:35:12.822: E/AndroidRuntime(12814):    
at com.google.android.gms.common.ConnectionResult.startResolutionForResult(Unknown Source)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at org.anddev.andengine.ui.activity.GameHelper.resolveConnectionResult(GameHelper.java:856)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at org.anddev.andengine.ui.activity.GameHelper.onConnectionFailed(GameHelper.java:832)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.google.android.gms.internal.ei.a(Unknown Source)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.google.android.gms.common.api.b.dy(Unknown Source)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.google.android.gms.common.api.b.d(Unknown Source)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.google.android.gms.common.api.b$4.onConnectionFailed(Unknown Source)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.google.android.gms.internal.ei.a(Unknown Source)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.google.android.gms.internal.eh$h.b(Unknown Source)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.google.android.gms.internal.eh$h.a(Unknown Source)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.google.android.gms.internal.eh$b.ec(Unknown Source)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.google.android.gms.internal.eh$a.handleMessage(Unknown Source)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at android.os.Handler.dispatchMessage(Handler.java:102)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at android.os.Looper.loop(Looper.java:136)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at android.app.ActivityThread.main(ActivityThread.java:5017)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at java.lang.reflect.Method.invokeNative(Native Method)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at java.lang.reflect.Method.invoke(Method.java:515)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
03-31 18:35:12.822: E/AndroidRuntime(12814):    at dalvik.system.NativeStart.main(Native Method)

请帮我解决这个问题,我非常坚持。 谢谢

【问题讨论】:

【参考方案1】:

mActivity == null 时会出现此问题。 a post 有一个类似的问题,它基本上说该函数是在活动的 onStop() 方法之后调用的,该方法使 mActivity 无效。

此问题可能很快就会得到解决,因此您应该跟踪 BaseGameUtils 的更新。自 2014 年 4 月 8 日 BaseGameUtils 和 Google Play Services v16 (4.3) 起,此问题已解决。

以下补丁修复了这个问题 - GameHelper.java, line 849,替换:

if (mConnectionResult.hasResolution()) 

与:

if ((mConnectionResult.hasResolution())&&(mActivity != null)) 

【讨论】:

以上是关于Google Game Center 中的空指针异常的主要内容,如果未能解决你的问题,请参考以下文章

iOS 6 中的 Game Center 出现问题

获取地图上的空指针异常

以编程方式更改 Game Center 中的成就顺序

Game Center 排行榜/成就中的语言错误

如何更改 Game Center (iOS) 中的排行榜图标?

操作栏中的空指针异常[重复]