如果我通过标准的
<intent-filter>
将购买意图发送
String mySku = "android.test.purchased";
mHelper.launchPurchaseFlow(this, mySku, 10001, mPurchaseFinishedListener);
我能够购买该物品并存储,也可以查询该物品,这方面都运作良好。唯一不能正常工作的是PurchaseFinishedListener。我的代码基本与示例应用程序相同,但似乎根本没有被调用。
12-12 01:40:47.248: D/IabHelper(23502): Calling getPurchases with continuation token: null
12-12 01:40:50.116: D/IabHelper(23502): Starting async operation: launchPurchaseFlow
这是最后两个被调用的方法,完成购买后不会调用purchasefinishedlistener。
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new OnIabPurchaseFinishedListener() {
@Override
public void onIabPurchaseFinished(IabResult result, Purchase purchase) {
Log.d(TAG, "Purchase finished: " + result + ", purchase: "
+ purchase);
if (result.isFailure()) {
complain("Error purchasing: " + result);
// setWaitScreen(false);
return;
}
if (purchase.getSku().equals(mySku)) {
Log.d(TAG, "mySku is being consumed.");
mHelper.consumeAsync(purchase, mConsumeFinishedListener);
}
Log.d(TAG, "Purchase successful.");
new AsyncQuestionsActivity().doInBackground();
}
};
从日志到结尾都没有起作用。我是否漏掉了什么?