Google InApp结算无效例外

时间:2013-03-15 13:38:50

标签: android in-app-billing google-play-services

当我查询Google InApp结算项目的产品详情时,我收到Null Exception错误。

我有一个项目添加到应用内开发者控制台网站,它显示状态为“活动”;

以下是我的代码。

 // 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

1 个答案:

答案 0 :(得分:3)

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

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

以下是我更改的代码:

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

解决了这个问题。