Android iapV3:使用ond项目

时间:2014-05-03 18:48:36

标签: android exception

我正在尝试实现消耗品和放大器非消耗品。 我的问题:我想要消费一段时间前买的东西(因为我购买并没有立即消费它(错误......)。

我已经尝试在收到"已经购买的时候调用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
            }

        }
    };

欢迎任何帮助:)

1 个答案:

答案 0 :(得分:0)

显然,你只能在购买时消费一件商品。 好吧,为了解决这个问题,我实施了相关的产品消费,并在我的商家帐户上取消了我的测试订单。当Google缓存更新时,一切正常。