3

当我查询 Google InApp Billing 项目的产品列表时,我收到 Null Exception 错误。

我在 In-App Developer Console 网站上添加了一项,它的状态显示为“活动”;

下面是我的代码。

 // Listener that's called when we finish querying the items and subscriptions we own
IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
    public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
        Log.d(TAG, "Query inventory finished 15.");
        if (result.isFailure()) {
           Log.d(TAG,"Failed to query inventory: " + result);
            return;
        }

        SkuDetails productDetails = inventory.getSkuDetails(SKU_ANATVITALSIGNS);

  //      Log.d(TAG,"Gas Price is: " + productDetails.getPrice());

        if (productDetails != null){
            Log.d(TAG,"Deck price is: " + productDetails.getPrice());
        }else{

            Log.d(TAG,"No Product Detail" );
        }

        Log.d(TAG, "Query inventory was successful.");

//        updateUi();
//        setWaitScreen(false);
        Log.d(TAG, "Initial inventory query finished; enabling main UI.");
    }

例如,当我尝试获取“productDetails.getPrice()”时程序出错。

任何帮助表示赞赏。这已经是两天的头疼了。

TIA

4

1 回答 1

3

我没有使用格式正确的查询来呼叫侦听器。

我添加了下面的代码并将信息传递给监听器,我的产品详细信息现在显示出来了。

以下是我更改的代码:

String[] moreSkus = {SKU_ANATVITALSIGNS};
mHelper.queryInventoryAsync(true, Arrays.asList(moreSkus), mGotInventoryListener);

这解决了问题。

于 2013-03-16T02:43:16.417 回答