我正在努力解决"已经带来"通过查询以前拥有的物品然后消耗它们的错误,我的问题是我不知道如何获得"购买"查询带来库存后的对象:
我在这里调用查询:
List<String> st = new ArrayList<String>();
st.add(AdRemovalSKU);
mHelper.queryInventoryAsync(true,st,mGotInventoryListener);
这是我的听众实施:
mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
@Override
public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
if (mHelper == null) return;
if (result.isFailure()) {
return;
}
if(inventory.hasPurchase(AdRemovalSKU)) {
mHelper.consumeAsync(purchase, context);
}
}
};
我想调用consumeAsync,但是我在哪里购买&#34;购买&#34;变量?
答案 0 :(得分:0)
搞清楚,只需使用
inventory.getPurchase(AdRemovalSKU)
它将退回购买。
答案 1 :(得分:0)
您可以查看以下内容。
mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
@Override
public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
if (mHelper == null) return;
if (result.isFailure()) {
return;
}
Purchase purchased = inventory.getPurchase(AdRemovalSKU);
if(purchased!=null){
//Your purchase details will be in the purchased object.
//You can also do the developer payload verification.
}
}
};
如果单独的上述代码不起作用,那么您还需要更改以下内容。
mHelper.queryInventoryAsync(true,st,mGotInventoryListener);
要
mHelper.queryInventoryAsync(mGotInventoryListener);