gpt4 book ai didi

Android应用内计费: Can't start async operation because another async operation (is in progress)

转载 作者:IT老高 更新时间:2023-10-28 13:14:11 27 4
gpt4 key购买 nike

我正在使用 Google 教程推荐的 IabHelper 实用程序类,但我受到了这个错误的严重打击。显然 IabHelper 不能同时运行多个异步操作。我什至设法在盘点仍在进行时尝试开始购买。

我已经尝试按照建议在我的主类中实现 onActivityResult here ,但在错误发生之前我什至没有调用该方法。然后我找到了this但我不知道在哪里可以找到这个 flagEndAsync 方法 - 它不在 IabHelper 类中。

现在我正在寻找解决此问题的方法(无需重新实现整个 she-bang)。我能想到的唯一解决方案是创建一个 bool 字段 asyncActive 在启动异步任务之前检查它,如果有另一个任务处于 Activity 状态则不要这样做。但这还有许多其他问题,并且不适用于跨 Activity 。此外,我更希望有一个异步任务队列并在允许时立即运行,而不是根本不运行。

有解决这个问题的办法吗?

最佳答案

一个简单的棘手的解决方案

在调用 purchaseItem 方法之前只需添加这一行

  if (billingHelper != null) billingHelper.flagEndAsync();

所以你的代码看起来是这样的

 if (billingHelper != null) billingHelper.flagEndAsync();
purchaseItem("android.test.purchased");

注意:如果你从另一个包调用它,不要忘记在 IabHelper 中创建 public flagEndAsync() 方法。

关于Android应用内计费: Can't start async operation because another async operation (is in progress),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15575605/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com