Android 计费 - 您拥有此商品时出错

标签 android in-app-billing android-billing

我有一个带有应用内结算功能的安卓应用。我想要订阅。我看到一个谷歌示例。我在我的申请中介绍了计费。我购买一件商品。但我有问题。我单击按钮“购买”开始 Intent ...。关闭此 Intent 后(文本:您拥有此项目,我单击确定)如果我想再次单击此按钮应用程序被压碎。

日志

我拥有这件元素。

05-31 19:02:10.416: D/Finsky(3313): [1]CarrierParamsAction.createCarrierBillingParameters: Carrier billing config is null. Device is not targeted for DCB 2.
05-31 19:02:10.436: I/SurfaceFlinger(1705): id=170(12) createSurface 0x3d364 (1x1),1 flag=0
05-31 19:02:10.441: E/Finsky(3313): [237] FileBasedKeyValueStore.delete: Attempt to delete 'paramspt_jJJW_8KK4rjjCyMt7_w' failed!
05-31 19:02:10.456: D/dalvikvm(3313): GC_CONCURRENT freed 1269K, 11% free 15726K/17607K, paused 13ms+7ms
05-31 19:02:10.471: I/ClipboardServiceEx(1865): mCBPickerDialog enter case. MSG_DISMISS_DIALOG
05-31 19:02:10.471: D/CLIPBOARD(14751): Hide Clipboard dialog at Starting input: finished by someone else... !
05-31 19:02:10.476: I/ClipboardServiceEx(1865): mCBPickerDialog enter case. MSG_DISMISS_DIALOG
05-31 19:02:10.491: I/ActivityManager(1865): Displayed shortComponentName: +165ms
05-31 19:02:10.726: I/power(1865): *** release_dvfs_lock : lockType : 1 
05-31 19:02:10.726: D/PowerManagerService(1865): releaseDVFSLockLocked : all DVFS_MIN_LIMIT are released 
05-31 19:02:10.726: W/ActivityManager(1865): mDVFSLock.release()

第二次点击我有

05-31 19:08:43.331: W/System.err(15461): java.lang.IllegalStateException: Can't start async operation (launchPurchaseFlow) because another async operation(launchPurchaseFlow) is in progress.
05-31 19:08:43.331: W/System.err(15461):    at com.market.IabHelper.flagStartAsync(IabHelper.java:725)
05-31 19:08:43.331: W/System.err(15461):    at com.market.IabHelper.launchPurchaseFlow(IabHelper.java:289)
05-31 19:08:43.331: W/System.err(15461):    at com.crystalreality.crystaltv.BillingActivity.performPurchaseSubscription(BillingActivity.java:65)
05-31 19:08:43.331: W/System.err(15461):    at dalvik.system.NativeStart.run(Native Method)

我有一个activityResult,但是它的代码没有执行

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Log.d(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data);
        if(requestCode == 0) {
            finish();
        }

        // Pass on the activity result to the helper for handling
        if (!mHelper.handleActivityResult(requestCode, resultCode, data)) {
            // not handled, so handle it ourselves (here's where you'd
            // perform any handling of activity results not related to in-app
            // billing...
            super.onActivityResult(requestCode, resultCode, data);
        }
        else {
            Log.d(TAG, "onActivityResult handled by IABUtil.");
        }
    } 

purchaseFlow 是样本中的代码。 我该如何解决?

最佳答案

这是应用内结算 IabHelper 类中的错误(也就是说,这是我的错 :-))。请从以下位置下载更新的示例(包含错误修复):

http://code.google.com/p/marketbilling/

SDK 管理器中的版本目前有点过时并且不包含最新的错误修复。

关于Android 计费 - 您拥有此商品时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16860586/

相关文章:

android - 在应用计费 Proguard 重复 zip 条目

android - 应用内结算到期

google-play - Google Play应用内结算-列出购买

android - 在android中获取操作栏高度

java - 在 Google Analytics 中为 Activity 名称设置自定义标签

java - 为什么不是 UI 线程的线程不能访问 View ?

android - 在 startIntentSenderForResult() 之后未调用 onActivityResult()

android - 使用 Android AccountManager 对服务器的用户进行身份验证

android - 从 Google Play 取消发布应用后,应用内订阅会发生什么情况?

Android 应用内订阅过期检查和测试