应用内结算(v3) – IllegalArgumentException:服务未注册:

我刚刚发布了应用内结算应用。 到目前为止,没有崩溃报告谷歌播放(这只发生当用户不费力报告崩溃),但我确实有一些通过乱七八糟(这是自动的)崩溃的报告。 崩溃报告如下:

class java.lang.RuntimeException Msg: android.app.ActivityThread.performDestroyActivity:3655 (Unable to destroy activity {com.mycompany.mygame/com.mycompany.mygame.Splashscreen}: java.lang.IllegalArgumentException: Service not registered: com.mycompany.mygame.util.IabHelper$1@46369b38) 

这只发生在我的应用程序执行的<1%。

纠正我,如果我错了,但似乎在崩溃报告中没有给出崩溃的行号:-(

我什至不知道这个崩溃报告的意思,更不用说如何解决它。 有任何想法吗?

我相信这是IabHelper.java中的一个错误。

在IabHelperconfiguration方法中,下面一行,

  if (mContext != null) mContext.unbindService(mServiceConn); 

应该改成这个。

  if (mContext != null && mService != null) mContext.unbindService(mServiceConn); 

mService只有在服务被注册后才会被设置,因此检查它是否为!= null将确保服务确实被注册了,然后我们试图解除绑定。