Ich verwende die IabHelper
Dienstprogrammklassen, wie im Tutorial von Google empfohlen, und bin von diesem Fehler schwer betroffen. Anscheinend IabHelper
können nicht mehrere asynchrone Vorgänge gleichzeitig ausgeführt werden. Ich habe es sogar geschafft, einen Kauf zu starten, während die Inventur noch lief.
Ich habe bereits versucht, onActivityResult
wie hier vorgeschlagen in meiner Hauptklasse zu implementieren , aber ich erhalte nicht einmal einen Aufruf dieser Methode, bevor der Fehler auftritt. Dann fand ich das , aber ich habe keine Ahnung , wo diese finden flagEndAsync
Methode - es ist nicht in der IabHelper
Klasse.
Jetzt suche ich nach einem Weg, um dies zu umgehen (ohne den ganzen Knall neu zu implementieren). Die einzige Lösung, die mir in den Sinn kommt, besteht darin, ein boolesches Feld zu erstellen asyncActive
, das vor dem Start einer asynchronen Aufgabe überprüft wird, und dies nicht zu tun, wenn eine andere Aufgabe aktiv ist. Aber das hat viele andere Probleme und funktioniert nicht über Aktivitäten hinweg. Außerdem würde ich es vorziehen, eine asynchrone Task-Warteschlange einzurichten und auszuführen, sobald dies zulässig ist, anstatt überhaupt nicht ausgeführt zu werden.
Irgendwelche Lösungen für dieses Problem?