Android-биллинг в приложении.Когда нужно отменить регистрацию ResponseHandler? - PullRequest
2 голосов
/ 06 марта 2012

Год назад мы внедрили In-app Billing без проблем, следуя примеру кода из документации.Несколько недель назад мы заметили жалобы пользователей на то, что они не получают свои товары.При отладке кода мы обнаружили, что корнем проблемы является следующее предложение:

/**
 * Called when this activity is no longer visible.
 */
@Override
protected void onStop() {
    super.onStop();
    ResponseHandler.unregister(mDungeonsPurchaseObserver);
}

На моем устройстве Samsung Galaxy S этот метод вызывается, когда появляется экран Market, очищая наблюдателя и прерывая общийцепи.Вместо этого мы переместили вызов в метод OnDestroy, и теперь он работает нормально.

Это правильный способ решения проблемы?Кто-нибудь испытывал это?

1 Ответ

0 голосов
/ 17 июня 2012

Я столкнулся с той же проблемой. Я реализовал очередь в ResponseHandler: если наблюдатель равен нулю, я помещаю информацию в очередь; как только добавляется наблюдатель, я вызываю его, используя информацию из очереди. Это имеет смысл в моем приложении, и, кажется, работает нормально.

Я не знаю, хорошая ли установка onDestroy, потому что нет смысла обновлять интерфейс Деятельности, которая не видна.

У вас возникли проблемы с вашим решением?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...