Почему Android 'TrivialDrive v3 Billing Sample' не позволяет использовать несколько асинхронных вызовов?
Я использую служебные методы из Android "TrivialDrive v3 Billing Sample", и, как и многие другие, я получаю сообщение об ошибке:
java.lang.IllegalStateException: Невозможно запустить асинхронную операцию (launchPurchaseFlow), потому что выполняется другая асинхронная операция (launchPurchaseFlow).
Это было решено в нескольких потоках (например, здесь или здесь), и во всех местах предлагается попробовать / перехватить или изменить состояние "асинхронная операция выполняется", чтобы избежать этого сбоя.
Эти подходы не имеют смысла для меня, так как первый требует, чтобы я внедрил механизмы повторения / ошибки во всем приложении, а последний вмешивается в поток этой библиотеки (вы также можете удалить этот код "выбрасывает незаконное состояние"),
Мой вопрос: в чем причина ограничения "1 асинхронная операция за раз" в IabHelper?
Если есть реальная причина, то, возможно, каждый метод должен выдавать ошибку, которая заставит разработчика ее устранить. Если нет, я думаю, что удаление кода "выбрасывание незаконного состояния..." должно быть удалено.