Подтвердить что ты не робот

Биллинг в приложении (v3) - IllegalArgumentException: Услуга не зарегистрирована:

Я только что выпустил приложение с биллингами в приложении. До сих пор не сообщалось о сбоях в игре Google (это происходит только тогда, когда пользователь берет на себя труд сообщать об аварии), но у меня есть некоторые сообщения о сбоях через шквал (который является автоматическим). Отчеты о сбоях выглядят следующим образом:

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: [email protected])

Это происходит только в < 1% исполнений моего приложения.

Исправьте меня, если я ошибаюсь, но кажется, что номер строки аварии не указан в отчете о путях: - (

Я даже не уверен, что означает этот отчет о сбое, не говоря уже о том, как его исправить. Любые идеи?

4b9b3361

Ответ 1

Я считаю, что это ошибка в IabHelper.java.

В методе IabHelper dispose, следующая строка,

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

следует изменить на это.

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

mService устанавливается только после регистрации Сервиса, поэтому проверка его на!= null гарантирует, что служба действительно зарегистрирована, прежде чем мы попытаемся отвязать ее.