Здесь шаги:
- Создайте и запустите пример Trivial Drive для InApp V3
- Выберите вариант покупки
- Нажмите кнопку "Назад"
- Попробуйте снова купить
В версии с января 2013 года вы, возможно, получите
Не удается запустить асинхронную операцию (launchPurchaseFlow), поскольку другой асинхронный выполняется операция (launchPurchaseFlow).
Тогда вы не можете использовать методы покупки или инвентаризации класса IabHelper, так как флаг async не будет очищен, если вы не убьете свое приложение.
Здесь возможно решение:
Я сделал метод flagEndAsync общедоступным и вызвал его в методе onRestart. Вопросы: это безопасное решение? И кто-нибудь еще видел эту проблему?
Вот что я добавил:
protected void onRestart() {
super.onRestart();
if (mHelper != null) mHelper.flagEndAsync();
}