Android 在应用程序购买中 - 服务连接已断开调试消息

Ste*_*nJo 5 android in-app-purchase

当我尝试在我的应用程序中实现应用程序内购买时,我不断收到 -1 响应代码。我已经在我的游戏控制台中添加了一个产品。有什么帮助吗?

调试响应消息:D/LOG:服务连接已断开。

public class InAppPurchase extends AppCompatActivity {

private BillingClient billingClient;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_in_app_purchase);


    billingClient = BillingClient.newBuilder(this).setListener(new PurchasesUpdatedListener() {
        @Override
        public void onPurchasesUpdated(BillingResult billingResult, List<Purchase> list) {

        }
    }).enablePendingPurchases().build();
    billingClient.startConnection(new BillingClientStateListener() {
        @Override
        public void onBillingSetupFinished(BillingResult billingResult) {
            if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
                // The BillingClient is ready. You can query purchases here.
                Toast.makeText(InAppPurchase.this, "Its Okay!", Toast.LENGTH_SHORT).show();
            }
        }
        @Override
        public void onBillingServiceDisconnected() {
            // Try to restart the connection on the next request to
            // Google Play by calling the startConnection() method.
            Toast.makeText(InAppPurchase.this, "Disconnected", Toast.LENGTH_SHORT).show();
        }
    });

    List<String> skuList = new ArrayList<>();
    skuList.add("mycoins10");
    SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
    params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP);
    billingClient.querySkuDetailsAsync(params.build(), new SkuDetailsResponseListener() {
                @Override
                public void onSkuDetailsResponse(BillingResult billingResult,
                                                 List<SkuDetails> skuDetailsList) {
                    // Process the result.
                    if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK && skuDetailsList != null) {
                        for (SkuDetails skuDetails : skuDetailsList) {
                            String sku = skuDetails.getSku();
                            String price = skuDetails.getPrice();
                            if ("mycoins10".equals(sku)) {
                                Toast.makeText(InAppPurchase.this, price, Toast.LENGTH_SHORT).show();
                            }
                        }
                    }else{
                        Toast.makeText(InAppPurchase.this, String.valueOf(billingResult.getResponseCode()), Toast.LENGTH_SHORT).show();
                    }

                }
            });

}
Run Code Online (Sandbox Code Playgroud)

}