我在应用程式内结帐时遇到问题。我正在使用TrivialDrive示例中的帮助程序类。
这是我的实现方法。
这在一个设备上可以正常工作,但是,如果用户在一个设备上进行购买,然后在另一台设备上尝试该设备,则第二个设备的工作方式如下:
helper 照常进行设置,然后在检查库存时发现没有购买任何物品(我知道此更新之前会有所延迟)。然后,它尝试购买,但显示在Google Play窗口上已经购买的商品。如果我可以在代码中检测到这一点,那会很好,但它会返回给监听器,表明用户取消了购买。
有没有一种方法可以检测用户是否已经使用
purchaseFinishedListener
购买了商品? 最佳答案
handleActivityResult
方法中的代码返回“用户已取消”else if (resultCode == Activity.RESULT_CANCELED) {
logDebug("Purchase canceled - Response: " + getResponseDesc(responseCode));
result = new IabResult(IABHELPER_USER_CANCELLED, "User canceled.");
if (mPurchaseListener != null) mPurchaseListener.onIabPurchaseFinished(result, null);
}
我添加了if (responseCode==BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED) result = new IabResult(BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED, "Success");
行