java - 在android studio的应用程序计费中总是返回 'BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED'

标签 java android android-studio in-app-billing

我正在尝试在我的应用程序中管理应用程序内结算,我曾经成功并获得应用程序内测试人员付款窗口,但过了一段时间,我总是从购买中获得这种类型的结果代码,即:

BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED 7 - 由于商品已被拥有而无法购买

有什么办法可以防止这种情况发生吗?

最佳答案

Purchase purchasePremium = null;
// The helper object
IabHelper mHelper; 

@Override
protected void onCreate(Bundle savedInstanceState) {
{
    // Create the helper, passing it our context and the public key to verify signatures with
    Log.d(TAG, "Creating IAB helper.");
    mHelper = new IabHelper(this, base64EncodedPublicKey);
}

public void onConsumePremiumButtonClicked(View arg0) {
    if(purchasePremium != null)
    {
        Log.d(TAG, "We have Premium. Consuming it.");
            try {
                mHelper.consumeAsync(purchasePremium, mConsumeFinishedListener);
            } catch (IabHelper.IabAsyncInProgressException e) {
                complain("Error consuming Premium. Another async operation in progress.");
                writeToLogFile("\nError consuming Premium. Another async operation in progress.");
            }
    }
    else
    {
        alert("Please Subscribe the Product before Consuming it.",TAG,ActivityPurchaseManagedProduct.this);
    }
}


// Called when consumption is complete
IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener() {
    public void onConsumeFinished(Purchase purchase, IabResult result) {
        Log.d(TAG, "Consumption finished. Purchase: " + purchase + ", result: " + result);

        // if we were disposed of in the meantime, quit.
        if (mHelper == null) return;


        if (result.isSuccess()) {
            // successfully consumed, so we apply the effects of the item in our
            // game world's logic, which in our case means filling the Premium tank a bit
            alert(" Consume Premium Success full",TAG,ActivityPurchaseManagedProduct.this);;
            purchasePremium = null;
        }
        else {
            complain("Error while consuming: " + result);
        }

        Log.d(TAG, "End consumption flow.");
    }
};

关于java - 在android studio的应用程序计费中总是返回 'BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50734277/

相关文章:

java - 注入(inject)不适用于新的运算符(operator)

java - libgdx 制作触摸事件

android - 无法将编译 'com.android.support:design:27.0.2' 添加到 The Build Gradle

java - Android:在操作栏上添加 searchView

java - Netbeans Java 代码格式问题

java - Benders.Strategy 使用 Java 和 opl

android - 是否可以手动注册到 Firebase 云消息传递?

android - 从 Nested Scrollview 中的 recyclerview 中移除焦点

java - 无法解析方法 'loadTrustMaterial'

android - 在 Android Studio 中导入 Cordova 项目