我正在尝试实现消耗品和放大器非消耗品。 我的问题:我想要消费一段时间前买的东西(因为我购买并没有立即消费它(错误......)。
我已经尝试在收到"已经购买的时候调用consumeItem();
方法"我的购买处理程序中的消息,但每次我在这个产品上调用此方法(适用于新产品)时,我都会收到NullPointerException。
以下是我的方法:
public void consumeItem() {
mHelper.queryInventoryAsync(mReceivedInventoryListener);
}
IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result,
Inventory inventory) {
if (result.isFailure()) {
// Handle failure
} else {
mHelper.consumeAsync(inventory.getPurchase(SKU),
mConsumeFinishedListener);
}
}
};
IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener() {
public void onConsumeFinished(Purchase purchase, IabResult result) {
if (result.isSuccess()) {
// clickButton.setEnabled(true);
} else {
// handle error
}
}
};
欢迎任何帮助:)
答案 0 :(得分:0)
显然,你只能在购买时消费一件商品。 好吧,为了解决这个问题,我实施了相关的产品消费,并在我的商家帐户上取消了我的测试订单。当Google缓存更新时,一切正常。