Я использую классы утилиты IabHelper
, как рекомендовано в учебнике Google, и я сильно пострадал от этой ошибки. По-видимому, IabHelper
не может одновременно запускать несколько асинхронных операций. Мне даже удалось ударить его, пытаясь начать покупку, пока инвентаризация еще не началась.
Я уже пытался реализовать onActivityResult
в своем основном классе, как предлагалось здесь, но я даже не получаю вызов этого метода до того, как ошибка попадает, Затем я нашел этот, но я не знаю, где найти этот метод flagEndAsync
- это не в классе IabHelper
.
Теперь я ищу способ обойти это (не переустраивая всю свою жизнь). Единственное решение, о котором я могу думать, - создать логическое поле asyncActive
, которое проверяется перед запуском задачи async, и не делать этого, если есть другая активная задача. Но у этого есть много других проблем, и он не работает через деятельность. Кроме того, я бы предпочел, чтобы очередь задач async была запущена и запускалась, как только это было разрешено, вместо того, чтобы не запускаться вообще.
Любые решения для этой проблемы?