2012-07-09 29 views
0

这是我的代码,我有几个问题,因为我完全是新的整个服务接收器的东西。在应用程序结算处理程序,和处理程序/服务/接收器

它工作正常。我得到结账,我购买,谷歌说我会尽快收到我的物品。

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

任何指针或线索,以便更好地帮助我了解,这将是真棒= 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 
      } 
    };  
}; 
+0

因此,我发现我没有收到我的电话,因为我忘记将处理程序设置为处理程序。此外,它似乎在活动外更新,并且非常快。但是如果应用程序在更新之前关闭,它会不会更新? – WIllJBD 2012-07-10 03:50:11

回答

0

因此,我发现我没有收到我的电话,因为我忘记将Handler设置为处理程序。此外,它似乎在活动外更新,并且非常快。但它会更新,如果应用程序已经关闭,然后才能更新