【问题标题】:in app billing handler, and handlers/services/receivers在应用计费处理程序和处理程序/服务/接收器中
【发布时间】:2012-07-09 23:12:00
【问题描述】:

这是我的代码,我有几个问题,因为我对整个服务接收器完全陌生。

它工作正常。我去结账,我购买了,谷歌说我很快就会收到我的物品。

我的问题是,在应用程序关闭后,或包含处理程序的活动关闭后,我的应用程序是否仍会收到通知,并且 gem 会被更新?

任何能更好地帮助我理解这一点的指针或线索都很棒 =D

我检查了一下,我的服务仍在后台运行,所以这很好:) 但是更新或接收

需要很长时间

有人知道吗?

Button bPurchase = (Button) findViewById(R.id.bPurchase);


    bPurchase.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            CheckBox confirm = (CheckBox) findViewById(R.id.bConfirm);
                    if (!confirm.isChecked()) {
                        Toast msg = Toast.makeText(PurchaseActivity.this, "Please Check Confirmation box", Toast.LENGTH_SHORT);
                        msg.setGravity(Gravity.CENTER, msg.getXOffset() / 2, msg.getYOffset() / 2);
                        msg.show();
                        return;
                    }
                    if(BillingHelper.isBillingSupported()){
                            BillingHelper.requestPurchase(mContext, "android.test.purchased");

                            // android.test.purchased or android.test.canceled or android.test.refunded
                    } else {
                            Log.i("","Can't purchase on this device");
                    }

        }
    });  


}


public Handler mTransactionHandler = new Handler(){ 
    public void handleMessage(android.os.Message msg) { 
            Log.i("", "Transaction complete"); 
            Log.i("", "Transaction status: "+BillingHelper.latestPurchase.purchaseState); 
            Log.i("", "Item attempted purchase is: "+BillingHelper.latestPurchase.productId); 

            if(BillingHelper.latestPurchase.isPurchased()){ 
                    long g = GemUpgrades.getGems();
                    g = g + 1000; 
                    GemUpgrades.setGems(g);

                    Toast msg1 = Toast.makeText(PurchaseActivity.this, "Received", Toast.LENGTH_SHORT);
                    msg1.setGravity(Gravity.CENTER, msg1.getXOffset() / 2, msg1.getYOffset() / 2);
                    msg1.show();
            } else { 
                   // Failure 
            } 
    };      
};

【问题讨论】:

  • 所以我发现我没有接到我的电话,因为我忘记将处理程序设置为处理程序。此外,它似乎在活动之外进行了更新,而且速度也很快。但是如果应用在更新之前已经关闭,它还会更新吗?

标签: java android handler billing


【解决方案1】:

所以我发现我没有接到我的电话,因为我忘记将处理程序设置为处理程序。此外,它似乎在活动之外进行了更新,而且速度也很快。但是如果应用程序在更新之前已经关闭,它还会更新吗?

【讨论】:

    猜你喜欢
    • 2021-11-24
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多