2017-08-14 4 views
0

私のアプリでアプリの請求でGoogleサンプルを設定しています。私はアプリの請求APIにうまく統合されています。私が呼ぶときしかしconsumeAsync(); Androidのスタジオは、それはかなり愚かな間違いだったからメソッドconsumeAsync enter image description hereアイテムを消費できません - consumeAsyncを解決できません

mHelper = new IabHelper(this, base64EncodedPublicKey); 
     mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() { 
      public void onIabSetupFinished(IabResult result) { 
       if (!result.isSuccess()) { 
        // Oh no, there was a problem. 
        Log.d("BillingAPI", "Problem setting up In-app Billing: " + result); 
       } else { 

        IabHelper.QueryInventoryFinishedListener 
          mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() { 
         public void onQueryInventoryFinished(IabResult result, Inventory inventory) { 
          if (result.isFailure()) { 
           // handle error 
           return; 
          } else {         
           boolean isPurchased = inventory.hasPurchase(REMOVE_ADS); 
           Log.d("Is this app owned?", isPurchased + ""); 

           IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener() { 

            @Override 
            public void onConsumeFinished(Purchase purchase, IabResult result) { 
             if (result.isSuccess()) { 
              // Purchase consumed. 
             } else { 
              // Purchase not consumed. 
             } 
            } 
           }; 

           if (isPurchased) { 
            mHelper.consumeAsync(isPurchased, mConsumeFinishedListener); 
           } 
          }        
         } 
        }; 

答えて

0

電源を入れて解決することはできませんと言います。

consumeAsync私はboolean

を渡す代わりに、この

boolean isPurchased = inventory.hasPurchase(REMOVE_ADS); 
mHelper.consumeAsync(isPurchased, mConsumeFinishedListener); 

をやって、私が代わりにgetPurchaseを使用するために必要だった、その最初のパラメータはPurchaseであることを期待しhasPurchase

Purchase purchaseInfo = inventory.getPurchase(REMOVE_ADS); 
mHelper.consumeAsync(purchaseInfo, mConsumeFinishedListener); 
関連する問題