以下是步骤:
在截至2013年1月的版本中,您可能会收到
无法启动异步操作(launchPurchaseFlow),因为另一个异步 operation(launchPurchaseFlow)正在进行中。
然后你不能使用IabHelper类的购买或库存方法,因为async标志不会被清除,除非你杀了你的应用程序。
这是一个可能的解决方案:
我将flagEndAsync方法设为public,并在onRestart方法中调用它。问题是:这是一个安全的解决方案吗?还有其他人看过这个问题吗?
这是我添加的内容:
protected void onRestart() {
super.onRestart();
if (mHelper != null) mHelper.flagEndAsync();
}
答案 0 :(得分:37)
您确定没有删除以下代码(或忘记添加到您的活动中)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Pass on the activity result to the helper for handling
if (!mHelper.handleActivityResult(requestCode, resultCode, data)) {
// not handled, so handle it ourselves (here's where you'd
// perform any handling of activity results not related to in-app
// billing...
super.onActivityResult(requestCode, resultCode, data);
}
}