3

Google InApp Billingアイテムの商品リストをクエリすると、Null例外エラーが発生します。

アプリ内開発者コンソールのWebサイトに1つのアイテムを追加しましたが、ステータスが「アクティブ」と表示されます。

以下は私のコードです。

 // 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()」を取得しようとすると、プログラムエラーが発生します。

どんな助けでも大歓迎です。これは2日間のヘッドバンガーです。

TIA

4

1 に答える 1

3

正しくフォーマットされた照会でリスナーを呼び出していませんでした。

以下のコードを追加してリスナーに情報を渡すと、製品の詳細が表示されます。

以下は私が変更したコードです:

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

これで問題は解決しました。

于 2013-03-16T02:43:16.417 に答える