Android 应用内计费-从未调用onIabPurchaseFinished,但购买成功

Android 应用内计费-从未调用onIabPurchaseFinished,但购买成功,android,in-app-purchase,google-play-services,in-app-billing,Android,In App Purchase,Google Play Services,In App Billing,我在谷歌应用计费服务上遇到了问题。当我为某个项目发出采购申请时: btn10.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ITEM_SKU = Constants.ITENS[0].getCod(); try { token = getTok

我在谷歌应用计费服务上遇到了问题。当我为某个项目发出采购申请时:

btn10.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            ITEM_SKU = Constants.ITENS[0].getCod();

            try {

                    token = getToken();

                    mHelper.launchPurchaseFlow(getActivity(), ITEM_SKU,RC_REQUEST,
                            FragmentPurchase.this, token);


            } catch (Exception e) {
                Toast.makeText(view.getContext(), "...", Toast.LENGTH_LONG).show();
            }

        }
    });
它已购买并显示成功付款消息,但服务未调用完成请求,因此我无法向用户提供状态

这一部分从未被称为:

 @Override
public void onIabPurchaseFinished(IabResult result, Purchase info) {

    if (result.isFailure()) {
        ...
        return;
    }
    else if(info.getDeveloperPayload().equals(token)){
        ...
        mHelper.consumeAsync(info,
                FragmentPurchase.this);
    }
}
我已经阅读了其他的答案,我已经记下并实现了所有的技巧,但它仍然没有给听众打电话

我的班级也在打电话:

 @Override
public void onActivityResult(int requestCode, int resultCode,
                             Intent data)
{
    if (mHelper != null && !mHelper.handleActivityResult(requestCode,
            resultCode, data)) {
        super.onActivityResult(requestCode, resultCode, data);
    }
}
这是我的onConsumeFinished:

@Override
public void onConsumeFinished(Purchase purchase, IabResult result) {
    Person person = func.getUser(view.getContext());
    Log.d(TAG, "Consumo do item.");
    if (result.isSuccess()) {
        String menssage =  result.getMessage();
        int resultCode = result.getResponse();
        String sku = purchase.getSku();
        String tokenLocal = purchase.getDeveloperPayload();
        String[] params = {person.getId(),person.getAuth_token(),sku, String.valueOf(resultCode),menssage,tokenLocal};
        consumeItemWS(params);

    } else {
         Toast.makeText(view.getContext(), "... " , Toast.LENGTH_LONG).show();             

    }

我不知道出了什么问题,我已经按照文档做了,但它不起作用。

您查看过文档页面了吗?我无法在您的代码中确认,但您可能需要与要调用的
onQueryInventoryFinished
的侦听器设置
queryInventoryAsync
。知道了,但我有onQueryInventoryFinished,并且它在初始阶段被调用,但问题是没有调用oniabpourchasefinished,而消费,即使我调用onQueryInventoryFinished,也不会起作用=(哦,很抱歉,我指的是
OnIabPurchaseFinishedListener
onIabPurchaseFinished
,我无法再编辑我的第一条评论。如果有什么遗漏,您可以查看页面的部分。我使用了此选项,但侦听器从未在launchPurchaseFlow中调用过=(