2012-07-09 28 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設置爲處理程序。此外,它似乎在活動外更新,並且非常快。但它會更新,如果應用程序已經關閉,然後才能更新