1
这是实施应用内结算的代码的一部分。我有两个疑问。应用内结算实施:已确认购买
@Override
public void onPurchaseStateChange(PurchaseState purchaseState, String itemId,
int quantity, long purchaseTime, String developerPayload) {
if (Consts.DEBUG) {
Log.i(TAG, "onPurchaseStateChange() itemId: " + itemId + " " + purchaseState);
}
if (developerPayload == null) {
logProductActivity(itemId, purchaseState.toString());
} else {
logProductActivity(itemId, purchaseState + "\n\t" + developerPayload);
}
if (purchaseState == PurchaseState.PURCHASED) {
mOwnedItems.add(itemId);
// At this point I have to put Premium changes
}
}
我的问题:
点在哪里我说:“在这一点上我已经把保费的变化”,怎么我可以向你保证应用程序已经购买?
我了解到,一旦进行了购买,这可能需要几个小时才能生效。如何确保我的应用程序能够执行代码:“此时我必须进行高级更改”?
NathanZ,感谢您的速度响应!我还有一个疑问。我的问题:当我打电话给MyBuyActivity.java时,我开始了相关的计费服务,但是当用户没有点击按钮时,计费服务永远不会启动。然后,如果我退还了价格,该应用将永远是Premium。我如何从主活动中调用结算服务?如果购买需要几个小时才能生效(尽管很少发生),也会出现同样的情况。对不起,我的英语不好。 – Pablo
看到这篇文章关于退款:http://stackoverflow.com/questions/6817507/android-in-app-billing-cancel-payment – znat