Billing v3 IabHelper类会触发nullpointerexception

时间:2014-04-29 20:00:46

标签: android

我已经实现了应用内结算功能,但我遇到了一个问题,即在购买时应用程序因nullpointerexception而崩溃。

E/AndroidRuntime( 6121): java.lang.NullPointerException
E/AndroidRuntime( 6121):    at com.test.my.app.util.IabHelper.consume(IabHelper.java:660)
E/AndroidRuntime( 6121):    at com.test.my.app.util.IabHelper$3.run(IabHelper.java:953)
E/AndroidRuntime( 6121):    at java.lang.Thread.run(Thread.java:841)

在IabHelper第660行,我们发现:

if (!itemInfo.mItemType.equals(ITEM_TYPE_INAPP)) { //Crash happens here
            throw new IabException(IABHELPER_INVALID_CONSUMPTION,
                    "Items of type '" + itemInfo.mItemType + "' can't be consumed.");
        }

任何想法导致了什么?

1 个答案:

答案 0 :(得分:0)

确保您正在消费的购买不为空,例如:

public void consumeItem(String SKU, IabHelper.OnConsumeFinishedListener listener){
    Purchase purchase = mInventory.getPurchase(SKU);
    if(purchase!=null) {
        mHelper.consumeAsync(purchase, listener);
    }
}